]> source.dussan.org Git - vaadin-framework.git/commitdiff
Added Label, TextField and RichTextArea examples.
authorTeppo Kurki <teppo.kurki@itmill.com>
Tue, 13 Jan 2009 14:13:57 +0000 (14:13 +0000)
committerTeppo Kurki <teppo.kurki@itmill.com>
Tue, 13 Jan 2009 14:13:57 +0000 (14:13 +0000)
svn changeset:6522/svn branch:trunk

18 files changed:
src/com/itmill/toolkit/demo/sampler/FeatureSet.java
src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.png [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/LabelPlainExample.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.png [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformattedExample.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.png [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/LabelRichExample.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.png [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/TextArea.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/TextArea.png [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/TextAreaExample.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.png [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingleExample.java [new file with mode: 0644]

index e3b365b55d46da303b0a2b5dfc7439aa19d0510f..97d6137942e86f74bb2fcc22c1e409a3bc33515f 100644 (file)
@@ -42,6 +42,12 @@ import com.itmill.toolkit.demo.sampler.features.selects.TwinColumnSelect;
 import com.itmill.toolkit.demo.sampler.features.tabsheets.TabSheetDisabled;
 import com.itmill.toolkit.demo.sampler.features.tabsheets.TabSheetIcons;
 import com.itmill.toolkit.demo.sampler.features.tabsheets.TabSheetScrolling;
+import com.itmill.toolkit.demo.sampler.features.text.LabelPlain;
+import com.itmill.toolkit.demo.sampler.features.text.LabelPreformatted;
+import com.itmill.toolkit.demo.sampler.features.text.LabelRich;
+import com.itmill.toolkit.demo.sampler.features.text.RichTextEditor;
+import com.itmill.toolkit.demo.sampler.features.text.TextArea;
+import com.itmill.toolkit.demo.sampler.features.text.TextFieldSingle;
 import com.itmill.toolkit.demo.sampler.features.windows.WindowChild;
 import com.itmill.toolkit.demo.sampler.features.windows.WindowChildAutosize;
 import com.itmill.toolkit.demo.sampler.features.windows.WindowChildModal;
@@ -97,6 +103,7 @@ public class FeatureSet extends Feature {
                     new Panels(), //
                     // new Forms(), not done yet
                     new Windows(), //
+                    new Texts(), //
             });
         }
     }
@@ -237,6 +244,20 @@ public class FeatureSet extends Feature {
         }
     }
 
+    public static class Texts extends FeatureSet {
+        public Texts() {
+            super("Texts", new Feature[] {
+            //        
+                    new LabelPlain(), //
+                    new LabelPreformatted(), //
+                    new LabelRich(), //
+                    new RichTextEditor(), //
+                    new TextFieldSingle(), //
+                    new TextArea(), //
+            });
+        }
+    }
+
     // ----------------------------------------------------------
     /*
      * FeatureSet implementation follows.
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.java b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.java
new file mode 100644 (file)
index 0000000..b65c5ff
--- /dev/null
@@ -0,0 +1,42 @@
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Label;\r
+\r
+public class LabelPlain extends Feature {\r
+    @Override\r
+    public String getName() {\r
+        return "Label - Plain text";\r
+    }\r
+\r
+    @Override\r
+    public String getDescription() {\r
+        return "A label is a simple component that allows you to add"\r
+                + " optionally formatted text components to your"\r
+                + " application."\r
+                + "<br>In this example the content mode is set to"\r
+                + " CONTENT_TEXT, meaning that the label will contain"\r
+                + " only plain text.";\r
+\r
+    }\r
+\r
+    @Override\r
+    public APIResource[] getRelatedAPI() {\r
+        return new APIResource[] { new APIResource(Label.class) };\r
+    }\r
+\r
+    @Override\r
+    public Class[] getRelatedFeatures() {\r
+        return new Class[] { LabelPreformatted.class, LabelRich.class,\r
+                TextFieldSingle.class, TextArea.class, RichTextEditor.class };\r
+    }\r
+\r
+    @Override\r
+    public NamedExternalResource[] getRelatedResources() {\r
+        // TODO Auto-generated method stub\r
+        return null;\r
+    }\r
+\r
+}\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.png b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.png
new file mode 100644 (file)
index 0000000..6865b1b
Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlain.png differ
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlainExample.java b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPlainExample.java
new file mode 100644 (file)
index 0000000..7d2ce6c
--- /dev/null
@@ -0,0 +1,20 @@
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+\r
+public class LabelPlainExample extends VerticalLayout {\r
+\r
+    public LabelPlainExample() {\r
+        setSpacing(true);\r
+\r
+        Label plainText = new Label("This is an example of a Label"\r
+                + " component. The content mode of this label is set"\r
+                + " to CONTENT_TEXT. This means that it will display"\r
+                + " the content text as is. HTML and XML special characters"\r
+                + " (<,>,&) are escaped properly to allow displaying them.");\r
+        plainText.setContentMode(Label.CONTENT_TEXT);\r
+\r
+        addComponent(plainText);\r
+    }\r
+}\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.java b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.java
new file mode 100644 (file)
index 0000000..7658991
--- /dev/null
@@ -0,0 +1,42 @@
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Label;\r
+\r
+public class LabelPreformatted extends Feature {\r
+    @Override\r
+    public String getName() {\r
+        return "Label - Preformatted";\r
+    }\r
+\r
+    @Override\r
+    public String getDescription() {\r
+        return "A label is a simple component that allows you to add"\r
+                + " optionally formatted text components to your"\r
+                + " application."\r
+                + "<br>In this example the content mode is set to"\r
+                + " CONTENT_PREFORMATTED. The text for this content type"\r
+                + " is by default rendered with fixed-width font. Line breaks"\r
+                + " can be inserted with \\n and tabulator characters with \\t.";\r
+    }\r
+\r
+    @Override\r
+    public APIResource[] getRelatedAPI() {\r
+        return new APIResource[] { new APIResource(Label.class) };\r
+    }\r
+\r
+    @Override\r
+    public Class[] getRelatedFeatures() {\r
+        return new Class[] { LabelPlain.class, LabelRich.class,\r
+                TextFieldSingle.class, TextArea.class, RichTextEditor.class };\r
+    }\r
+\r
+    @Override\r
+    public NamedExternalResource[] getRelatedResources() {\r
+        // TODO Auto-generated method stub\r
+        return null;\r
+    }\r
+\r
+}\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.png b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.png
new file mode 100644 (file)
index 0000000..d033a4b
Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformatted.png differ
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformattedExample.java b/src/com/itmill/toolkit/demo/sampler/features/text/LabelPreformattedExample.java
new file mode 100644 (file)
index 0000000..2794982
--- /dev/null
@@ -0,0 +1,25 @@
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+\r
+public class LabelPreformattedExample extends VerticalLayout {\r
+\r
+    public LabelPreformattedExample() {\r
+        setSpacing(true);\r
+\r
+        Label preformattedText = new Label(\r
+                "This is an example of a Label component.\n"\r
+                        + "\nThe content mode of this label is set"\r
+                        + "\nto CONTENT_PREFORMATTED. This means"\r
+                        + "\nthat it will display the content text"\r
+                        + "\nusing a fixed-width font. You also have"\r
+                        + "\nto insert the line breaks yourself.\n"\r
+                        + "\n\tHTML and XML special characters"\r
+                        + "\n\t(<,>,&) are escaped properly to"\r
+                        + "\n\tallow displaying them.");\r
+        preformattedText.setContentMode(Label.CONTENT_PREFORMATTED);\r
+\r
+        addComponent(preformattedText);\r
+    }\r
+}\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.java b/src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.java
new file mode 100644 (file)
index 0000000..2772eff
--- /dev/null
@@ -0,0 +1,41 @@
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Label;\r
+\r
+public class LabelRich extends Feature {\r
+    @Override\r
+    public String getName() {\r
+        return "Label - Rich text";\r
+    }\r
+\r
+    @Override\r
+    public String getDescription() {\r
+        return "A label is a simple component that allows you to add"\r
+                + " optionally formatted text components to your"\r
+                + " application."\r
+                + "<br>In this example the content mode is set to"\r
+                + " CONTENT_XHTML. This content mode assumes that the"\r
+                + " content set to the label will be valid XHTML.";\r
+    }\r
+\r
+    @Override\r
+    public APIResource[] getRelatedAPI() {\r
+        return new APIResource[] { new APIResource(Label.class) };\r
+    }\r
+\r
+    @Override\r
+    public Class[] getRelatedFeatures() {\r
+        return new Class[] { LabelPlain.class, LabelPreformatted.class,\r
+                RichTextEditor.class };\r
+    }\r
+\r
+    @Override\r
+    public NamedExternalResource[] getRelatedResources() {\r
+        // TODO Auto-generated method stub\r
+        return null;\r
+    }\r
+\r
+}\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.png b/src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.png
new file mode 100644 (file)
index 0000000..b1ba9fa
Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/text/LabelRich.png differ
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/LabelRichExample.java b/src/com/itmill/toolkit/demo/sampler/features/text/LabelRichExample.java
new file mode 100644 (file)
index 0000000..3547471
--- /dev/null
@@ -0,0 +1,45 @@
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.RichTextArea;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+import com.itmill.toolkit.ui.Button.ClickListener;\r
+\r
+public class LabelRichExample extends VerticalLayout implements ClickListener {\r
+\r
+    private Button b;\r
+    private Label richText;\r
+\r
+    private final RichTextArea editor = new RichTextArea();\r
+\r
+    public LabelRichExample() {\r
+        setSpacing(true);\r
+\r
+        richText = new Label("<h1>Rich text label example</h1>"\r
+                + "<p>In this example, the content mode is set to "\r
+                + "<i>CONTENT_XHTML</i>.</p>"\r
+                + "<p>This text can be edited with the Edit-button</p>");\r
+        richText.setContentMode(Label.CONTENT_XHTML);\r
+\r
+        addComponent(richText);\r
+\r
+        b = new Button("Edit label");\r
+        b.addListener(this);\r
+        addComponent(b);\r
+    }\r
+\r
+    public void buttonClick(ClickEvent event) {\r
+        if (getComponentIterator().next() == richText) {\r
+            editor.setValue(richText.getValue());\r
+            replaceComponent(richText, editor);\r
+            b.setCaption("Show label");\r
+        } else {\r
+            richText.setValue(editor.getValue());\r
+            replaceComponent(editor, richText);\r
+            b.setCaption("Edit label");\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.java b/src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.java
new file mode 100644 (file)
index 0000000..4af2b6f
--- /dev/null
@@ -0,0 +1,44 @@
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Component;\r
+import com.itmill.toolkit.ui.Label;\r
+\r
+public class RichTextEditor extends Feature {\r
+    @Override\r
+    public String getName() {\r
+        return "Rich text area";\r
+    }\r
+\r
+    @Override\r
+    public String getDescription() {\r
+        return "A RichTextArea component allows editing XHTML"\r
+                + " content. Click the edit button to open the"\r
+                + " editor and the show button to show the edited"\r
+                + " result as an XHTML label.";\r
+    }\r
+\r
+    @Override\r
+    public APIResource[] getRelatedAPI() {\r
+        return new APIResource[] { new APIResource(Label.class) };\r
+    }\r
+\r
+    @Override\r
+    public Class[] getRelatedFeatures() {\r
+        return new Class[] { LabelPlain.class, LabelPreformatted.class,\r
+                LabelRich.class, TextFieldSingle.class, TextArea.class };\r
+    }\r
+\r
+    @Override\r
+    public NamedExternalResource[] getRelatedResources() {\r
+        // TODO Auto-generated method stub\r
+        return null;\r
+    }\r
+\r
+    @Override\r
+    public Component getExample() {\r
+        return new LabelRichExample();\r
+    }\r
+}\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.png b/src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.png
new file mode 100644 (file)
index 0000000..140d0ee
Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/text/RichTextEditor.png differ
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextArea.java b/src/com/itmill/toolkit/demo/sampler/features/text/TextArea.java
new file mode 100644 (file)
index 0000000..52611d9
--- /dev/null
@@ -0,0 +1,45 @@
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Label;\r
+\r
+public class TextArea extends Feature {\r
+    @Override\r
+    public String getName() {\r
+        return "Textarea";\r
+    }\r
+\r
+    @Override\r
+    public String getDescription() {\r
+        return "A multi-line Textfield component allows you to input"\r
+                + " several lines of text."\r
+                + "<br>In this example the text will be shown in a"\r
+                + " label component after you press enter."\r
+                + "<br>The amount of columns and lines can be set, and both are set here to"\r
+                + " 20 characters. Note that this only affects the width and height of the"\r
+                + " component, not the allowed length of input."\r
+                + "<br>For sensitive data input, the textfield can"\r
+                + " also be set into secret mode where the input will not be"\r
+                + " echoed to display.";\r
+    }\r
+\r
+    @Override\r
+    public APIResource[] getRelatedAPI() {\r
+        return new APIResource[] { new APIResource(Label.class) };\r
+    }\r
+\r
+    @Override\r
+    public Class[] getRelatedFeatures() {\r
+        return new Class[] { LabelPlain.class, LabelPreformatted.class,\r
+                RichTextEditor.class };\r
+    }\r
+\r
+    @Override\r
+    public NamedExternalResource[] getRelatedResources() {\r
+        // TODO Auto-generated method stub\r
+        return null;\r
+    }\r
+\r
+}\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextArea.png b/src/com/itmill/toolkit/demo/sampler/features/text/TextArea.png
new file mode 100644 (file)
index 0000000..cfd04ba
Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/text/TextArea.png differ
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextAreaExample.java b/src/com/itmill/toolkit/demo/sampler/features/text/TextAreaExample.java
new file mode 100644 (file)
index 0000000..f99226d
--- /dev/null
@@ -0,0 +1,43 @@
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.data.Property;\r
+import com.itmill.toolkit.data.Property.ValueChangeEvent;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.TextField;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+\r
+public class TextAreaExample extends VerticalLayout implements\r
+        Property.ValueChangeListener {\r
+\r
+    private Label plainText;\r
+    private final TextField editor = new TextField();\r
+\r
+    public TextAreaExample() {\r
+        setSpacing(true);\r
+\r
+        plainText = new Label("Initial text.\n"\r
+                + "\nPlease note that within a textarea,"\r
+                + "\nthe enter key will not dispatch the"\r
+                + "\nchanges to the server. To fire a"\r
+                + "\nvaluechange event, you must deactivate"\r
+                + "\nthe textarea.");\r
+        plainText.setContentMode(Label.CONTENT_PREFORMATTED);\r
+\r
+        editor.addListener(this);\r
+        editor.setImmediate(true);\r
+        editor.setColumns(20);\r
+        editor.setRows(20);\r
+        // editor.setSecret(true);\r
+\r
+        addComponent(editor);\r
+        addComponent(plainText);\r
+    }\r
+\r
+    /*\r
+     * Catch the valuechange event of the textfield and update the value of the\r
+     * label component\r
+     */\r
+    public void valueChange(ValueChangeEvent event) {\r
+        plainText.setValue(editor.getValue());\r
+    }\r
+}\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.java b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.java
new file mode 100644 (file)
index 0000000..aeacafb
--- /dev/null
@@ -0,0 +1,45 @@
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Label;\r
+\r
+public class TextFieldSingle extends Feature {\r
+    @Override\r
+    public String getName() {\r
+        return "Textfield";\r
+    }\r
+\r
+    @Override\r
+    public String getDescription() {\r
+        return "A single line Textfield component allows you to input"\r
+                + " one line of text."\r
+                + "<br>In this example the text will be shown in a"\r
+                + " label component after you press enter."\r
+                + "<br>The amount of columns can be set, and is set here to"\r
+                + " 5 characters. Note that this only affects the width of the"\r
+                + " component, not the allowed length of input."\r
+                + "<br>For sensitive data input, the textfield can"\r
+                + " also be set into secret mode where the input will not be"\r
+                + " echoed to display.";\r
+    }\r
+\r
+    @Override\r
+    public APIResource[] getRelatedAPI() {\r
+        return new APIResource[] { new APIResource(Label.class) };\r
+    }\r
+\r
+    @Override\r
+    public Class[] getRelatedFeatures() {\r
+        return new Class[] { LabelPlain.class, LabelPreformatted.class,\r
+                RichTextEditor.class };\r
+    }\r
+\r
+    @Override\r
+    public NamedExternalResource[] getRelatedResources() {\r
+        // TODO Auto-generated method stub\r
+        return null;\r
+    }\r
+\r
+}\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.png b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.png
new file mode 100644 (file)
index 0000000..2782e57
Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.png differ
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingleExample.java b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingleExample.java
new file mode 100644 (file)
index 0000000..1095fc9
--- /dev/null
@@ -0,0 +1,37 @@
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.data.Property;\r
+import com.itmill.toolkit.data.Property.ValueChangeEvent;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.TextField;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+\r
+public class TextFieldSingleExample extends VerticalLayout implements\r
+        Property.ValueChangeListener {\r
+\r
+    private Label plainText;\r
+    private final TextField editor = new TextField();\r
+\r
+    public TextFieldSingleExample() {\r
+        setSpacing(true);\r
+\r
+        plainText = new Label("Initial text");\r
+        plainText.setContentMode(Label.CONTENT_TEXT);\r
+\r
+        editor.addListener(this);\r
+        editor.setImmediate(true);\r
+        editor.setColumns(5);\r
+        // editor.setSecret(true);\r
+\r
+        addComponent(plainText);\r
+        addComponent(editor);\r
+    }\r
+\r
+    /*\r
+     * Catch the valuechange event of the textfield and update the value of the\r
+     * label component\r
+     */\r
+    public void valueChange(ValueChangeEvent event) {\r
+        plainText.setValue(editor.getValue());\r
+    }\r
+}\r