如何在Vaadin8组合框中获得物品尺寸?

时间:2017-12-27 12:29:26

标签: java combobox vaadin8

如果Vaadin8组合框中没有任何项目,我正试图显示弹出窗口。但是没有getItems()或size()方法。

这是我的代码,如果分支大小= 0我想向用户发送通知。

        cbxBranch = new ComboBox<>();
        cbxBranch.setPlaceholder("Select a branch");
        cbxBranch.setItemCaptionGenerator(Branch::getBranchName);
        cbxBranch.setEmptySelectionAllowed(false);
        cbxBranch.setItems(getBranches());
        cbxBranch.addFocusListener(e -> {
            //this line just a sample..
            System.out.println(cbxBranch.getDataProvider().size());
        });

更新:

cbxBranch.addFocusListener(e -> {
    if (((ListDataProvider<Branch>) cbxBranch.getDataProvider()).getItems().isEmpty()) {
       Notification.show("You don't have a branch!", Type.WARNING_MESSAGE);
    }
});

1 个答案:

答案 0 :(得分:0)

Vaadin 8将DataProvider用于GridTreeGridComboBox等项目组件。 setItems方法是一种方便的方法,可以将您的数组/集合ListDataProvider设置为组合框。因此,您可以致电getDataProvider,转发ListDataProvider并致电getItems(请参阅java doc here)。