我尝试使用ComboBox和重置按钮构建一个简单表单。我想丢弃我可以重置组合框。我做错了什么?未注释的combobox.select是一种解决方法。
按照简单的例子:
public class VaadinprojectApplication extends Application {
@Override
public void init() {
final Window mainWindow = new Window("Simpleform");
final List<String> aListWithStrings = new ArrayList<String>();
aListWithStrings.add("Somthing");
final BeanItemContainer<String> objects = new BeanItemContainer<String>(String.class, aListWithStrings);
final ComboBox comboBox = new ComboBox("Importers", objects);
// reset button
final Button resetButton = new Button("Reset", new Button.ClickListener() {
@Override
public void buttonClick(final ClickEvent event) {
// comboBox.select(comboBox.getNullSelectionItemId());
comboBox.discard();
System.out.println("reset");
}
});
final FormLayout form = new FormLayout();
form.addComponent(comboBox);
form.addComponent(resetButton);
form.setSizeUndefined();
mainWindow.addComponent(form);
setMainWindow(mainWindow);
}
}
答案 0 :(得分:0)
要在组合框中选择任何内容,请使用此代替discard()
:
comboBox.setValue(null);
答案 1 :(得分:0)
final ComboBox comboBox = new ComboBox("Importers", objects);
上面的行没有正确设置数据源。 discard()
检查数据源是否为!= null。但是在代码示例的情况下,数据源为null,因此没有任何事情发生。为什么?我还不知道。