Vaadin:如何向组合框添加选项?
Vaadin: How do I add options to a combo box?
我有一个组合框,我正在尝试向其添加选项。我该怎么做?这是我目前所拥有的:
ComboBox contactPrefixNametf = new ComboBox("Prefix");
contactPrefixNametf.setItemCaption(contactPrefixNametf, "Mr");
fLayout.addComponent(contactPrefixNametf);
contactPrefixNametf.setImmediate(true);
我猜.setItemCaption()
是不是正确的方法?什么是正确的方法?
提前致谢!
使用addItem()
方法:
final ComboBox my_combox_box = new ComboBox("My Combo Box");
for (final My_object mo: list_of_my_objects)
{
my_combox_box.addItem(mo);
my_combox_box.setItemCaption(mo, mo.name());
}
此示例使用 addItem
与 setItemCaption()
to store the actual object selected by the user with a display friendly name (if toString()
的结合是不合适的)。
myComboBox.addItem("Option 1");
(特别是如果您是 Vaadin 的新手),我建议尝试 Viritin add-on 及其 ComboBox 的 TypedSelect 变体。它的类型 API 使许多事情简单得可笑。例如,它有一个(类型化的)setOptions 方法,它的值更改侦听器直接提供值,而不是通过非类型化的 属性 接口。
其用法的代码示例:
List<Person> options = service.findMyPersons();
TypedSelect<Person> select = new TypedSelect<>(Person.class)
.withSelectType(ComboBox.class);
select.setOptions(options);
// If toString() representation is not good, modify it to something else
select.setCaptionGenerator(person -> person.getFirstName() + person.getLastName());
select.addMValueChangeListener(event -> {
Person person = event.getValue();
});
免责声明:我是 Viritin 的维护者,也维护了 Vaadin 8 年,现在是它的开发者倡导者。
我有一个组合框,我正在尝试向其添加选项。我该怎么做?这是我目前所拥有的:
ComboBox contactPrefixNametf = new ComboBox("Prefix");
contactPrefixNametf.setItemCaption(contactPrefixNametf, "Mr");
fLayout.addComponent(contactPrefixNametf);
contactPrefixNametf.setImmediate(true);
我猜.setItemCaption()
是不是正确的方法?什么是正确的方法?
提前致谢!
使用addItem()
方法:
final ComboBox my_combox_box = new ComboBox("My Combo Box");
for (final My_object mo: list_of_my_objects)
{
my_combox_box.addItem(mo);
my_combox_box.setItemCaption(mo, mo.name());
}
此示例使用 addItem
与 setItemCaption()
to store the actual object selected by the user with a display friendly name (if toString()
的结合是不合适的)。
myComboBox.addItem("Option 1");
(特别是如果您是 Vaadin 的新手),我建议尝试 Viritin add-on 及其 ComboBox 的 TypedSelect 变体。它的类型 API 使许多事情简单得可笑。例如,它有一个(类型化的)setOptions 方法,它的值更改侦听器直接提供值,而不是通过非类型化的 属性 接口。
其用法的代码示例:
List<Person> options = service.findMyPersons();
TypedSelect<Person> select = new TypedSelect<>(Person.class)
.withSelectType(ComboBox.class);
select.setOptions(options);
// If toString() representation is not good, modify it to something else
select.setCaptionGenerator(person -> person.getFirstName() + person.getLastName());
select.addMValueChangeListener(event -> {
Person person = event.getValue();
});
免责声明:我是 Viritin 的维护者,也维护了 Vaadin 8 年,现在是它的开发者倡导者。