我的问题是我有一个简单的字符串列表
List<String> names = List.of("Frank","Joe","Eva");
我想要的只是将其显示在用户界面上。使用一些简单的代码,例如
ListComponent lc = new ListComponent.setItems(names);
我已经用 Table 尝试过了,它似乎可以工作,但它背后的代码对于这个简单的任务来说有点样板(7-8 行代码)。
我也尝试过 Grid 组件,当我想将 POJO 绑定(bind)到它时它工作得很好,但是对于 String.class 类型来说它是一场噩梦。
Grid<String> listGrid= new Grid<>(String.class) ;
listGrid.setItems(names);
它不起作用,因为我必须为列提供 getter,而 String.class 没有该值。所以我这样做了:
Grid<String> listGrid= new Grid<>(String.class) ;
listGrid.setItems(names);
listGrid.addColumn(String::toString).setCaption("name");
它有效!然而,未指定的列也会出现在网格中,所以现在我有 3 列“字节”、“空”、“名称”。我不知道为什么。这些都是从哪里来的?
最佳答案
显示它们有什么要求?只是为了让它们出现在屏幕上吗?标签足够了吗?
for(String name: names) {
mylayout.addComponent(new Label(name))
}
如果您需要选择,那么 ListSelect 或 ComboBox 可能是首选。
关于java - 用于字符串列表的最佳 Vaadin 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55664499/