diff options
Diffstat (limited to 'src/com/vaadin/demo/featurebrowser/SelectExample.java')
-rw-r--r-- | src/com/vaadin/demo/featurebrowser/SelectExample.java | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/src/com/vaadin/demo/featurebrowser/SelectExample.java b/src/com/vaadin/demo/featurebrowser/SelectExample.java new file mode 100644 index 0000000000..44a5343784 --- /dev/null +++ b/src/com/vaadin/demo/featurebrowser/SelectExample.java @@ -0,0 +1,102 @@ +/*
+@ITMillApache2LicenseForJavaFiles@
+ */
+
+package com.vaadin.demo.featurebrowser;
+
+import com.vaadin.data.Property.ValueChangeEvent;
+import com.vaadin.ui.AbstractSelect;
+import com.vaadin.ui.ComboBox;
+import com.vaadin.ui.CustomComponent;
+import com.vaadin.ui.Field;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.ListSelect;
+import com.vaadin.ui.NativeSelect;
+import com.vaadin.ui.OptionGroup;
+import com.vaadin.ui.Panel;
+import com.vaadin.ui.TwinColSelect;
+import com.vaadin.ui.VerticalLayout;
+
+/**
+ * Shows some basic fields for value input; TextField, DateField, Slider...
+ *
+ * @author IT Mill Ltd.
+ */
+public class SelectExample extends CustomComponent {
+
+ // listener that shows a value change notification
+ private final Field.ValueChangeListener listener = new Field.ValueChangeListener() {
+ public void valueChange(ValueChangeEvent event) {
+ getWindow().showNotification("" + event.getProperty().getValue());
+ }
+ };
+
+ public SelectExample() {
+ final VerticalLayout main = new VerticalLayout();
+ main.setMargin(true);
+ setCompositionRoot(main);
+
+ final HorizontalLayout horiz = new HorizontalLayout();
+ horiz.setWidth("100%");
+ main.addComponent(horiz);
+ final Panel single = new Panel("Single selects");
+ single.setStyleName(Panel.STYLE_LIGHT);
+ horiz.addComponent(single);
+ final Panel multi = new Panel("Multi selects");
+ multi.setStyleName(Panel.STYLE_LIGHT);
+ horiz.addComponent(multi);
+
+ // radio button group
+ AbstractSelect sel = new OptionGroup("OptionGroup");
+ initSelect(sel);
+ single.addComponent(sel);
+ // checkbox group
+ sel = new OptionGroup("OptionGroup");
+ sel.setMultiSelect(true); // TODO: throws if set after listener - why?
+ initSelect(sel);
+ multi.addComponent(sel);
+ // single-select list
+ sel = new ListSelect("ListSelect");
+ ((ListSelect) sel).setColumns(15);
+ initSelect(sel);
+ single.addComponent(sel);
+ // multi-select list
+ sel = new ListSelect("ListSelect");
+ ((ListSelect) sel).setColumns(15);
+ sel.setMultiSelect(true);
+ initSelect(sel);
+ multi.addComponent(sel);
+ // native-style dropdows
+ sel = new NativeSelect("NativeSelect");
+ ((NativeSelect) sel).setColumns(15);
+ initSelect(sel);
+ single.addComponent(sel);
+ // combobox
+ sel = new ComboBox("ComboBox");
+ ((ComboBox) sel).setWidth("15em");
+ initSelect(sel);
+ single.addComponent(sel);
+ // "twin column" select
+ sel = new TwinColSelect("TwinColSelect");
+ sel.setWidth("100%");
+ ((TwinColSelect) sel).setColumns(15);
+ initSelect(sel);
+ multi.addComponent(sel);
+ }
+
+ /*
+ * Initialize select with some values, make immediate and add listener.
+ */
+ private void initSelect(AbstractSelect sel) {
+ for (int i = 1; i <= 5; i++) {
+ sel.addItem("Item " + i);
+ }
+ // select one item
+ sel.select("Item 1");
+
+ // make immediate, add listener
+ sel.setImmediate(true);
+ sel.addListener(listener);
+ }
+
+}
|