繁体   English   中英

值未显示在JavaFX组合框中

[英]Values not showing on JavaFX combo box

我下面有这段代码,用于在JavaFX ComboBox上填充值。

内部的System.out为每个循环在内部打印状态名称,但是状态名称未显示在组合框上。

@FXML private ComboBox<String> cmboState = new ComboBox<String>();

ObservableList<String> stateList = FXCollections.observableArrayList();

stateList.clear();
stateService = (StateService) App.getAppContext().getBean("StateService");
List<State> states = stateService.findAllState();
cmboState.setItems(stateList);
for (State state : states) {
    System.out.println(state.getStateName());
    stateList.add(state.getStateName());
}
stateList.add(0, "Select one");
cmboState.setItems(stateList);

此代码段没有实际问题,它可以正常工作,因此请确保不会在代码的其他地方擦除stateList

另外,调用cmboState.setItems(stateList); 两次是没有用的,因为它是一个ObservableList

cmboState.setItems(stateList); // Here stateList is empty
for (int i = 0; i<3; i++) {            
    stateList.add("aaa" + i);
}
stateList.add(0, "Select one");

因此,我最好的猜测是您在其他地方删除了此列表,因此ComboBox中的项目列表也将被删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM