Window w = new Window(getClass().getSimpleName());\r
setMainWindow(w);\r
\r
- GridLayout layout = new GridLayout(3, 5);\r
+ GridLayout layout = new GridLayout(5, 5);\r
w.setLayout(layout);\r
\r
layout.setSpacing(true);\r
}\r
});\r
layout.addComponent(b);\r
+ b = new Button("Select 1", new ClickListener() {\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ selectWithoutNullItem.select("1");\r
+\r
+ }\r
+ });\r
+ layout.addComponent(b);\r
+ b = new Button("Select 2", new ClickListener() {\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ selectWithoutNullItem.select("2");\r
+\r
+ }\r
+ });\r
+ layout.addComponent(b);\r
\r
b = new Button("Select null", new ClickListener() {\r
\r
});\r
layout.addComponent(b);\r
\r
+ b = new Button("Select 1", new ClickListener() {\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ selectWithNullItem.select("1");\r
+\r
+ }\r
+ });\r
+ layout.addComponent(b);\r
+ b = new Button("Select 2", new ClickListener() {\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ selectWithNullItem.select("2");\r
+\r
+ }\r
+ });\r
+ layout.addComponent(b);\r
+\r
b = new Button("Select null", new ClickListener() {\r
\r
public void buttonClick(ClickEvent event) {\r
*/
public void setValue(Object newValue) throws Property.ReadOnlyException,
Property.ConversionException {
+ if (newValue == null) {
+ newValue = getNullSelectionItemId();
+ }
+
setValue(newValue, false);
}
*
*/
public void select(Object itemId) {
- if (!isSelected(itemId) && items.containsId(itemId)) {
- if (isMultiSelect()) {
- final Set s = new HashSet((Set) getValue());
- s.add(itemId);
- setValue(s);
- } else if (itemId.equals(getNullSelectionItemId())) {
- setValue(null);
- } else {
- setValue(itemId);
- }
+ if (!isMultiSelect()) {
+ setValue(itemId);
+ } else if (!isSelected(itemId) && itemId != null
+ && items.containsId(itemId)) {
+ final Set s = new HashSet((Set) getValue());
+ s.add(itemId);
+ setValue(s);
}
}