我在javafx2.2中遇到了Comboboxes的问题。情况如下:
当用户通过按下“editFile”按钮再次打开窗格时,我注意到只有“固定项目”组合框已清除其选择,动态填充的组合框显示最后选定的项目,尽管从选择本身的值为
有没有什么方法可以解决这个问题,或者重置组合框的最佳方法是什么?
编辑2014/08/27:
这正式不是一个错误(clearSelection()不清除值):
https://bugs.openjdk.java.net/browse/JDK-8097244 官方“解决办法”是在清除选择后清除ComboBox的值。
- 用户单击“editFile”按钮。
- 另一个窗格变得可见(使用setVisible方法)。
此窗格包含6个组合框。其中三个具有固定项:cboReport、cboSales、cboSend。另外三个从数据库(ObservableList)获取其数据,并在窗格变为可见时填充:cboFile、cboCustomer、cboVet
- 用户从cboFile中选择文件号。其余的组合框被设置为正确的值。
- 用户按保存按钮,文件将按预期保存。
- 接下来,用户按关闭按钮。
当窗口关闭时,通过resetGUI_editFilePane()方法重置窗格上的数据。有以下几行:
...
cboReport.getSelectionModel().clearSelection();
cboSales.getSelectionModel().clearSelection();
cboSend.getSelectionModel().clearSelection();
cboFile.getSelectionModel().clearSelection();
cboCustomer.getSelectionModel().clearSelection();
cboVet.getSelectionModel().clearSelection();
cboFile.getItems().clear();
cboCustomer.getItems().clear();
cboVet.getItems.clear();
...
当用户通过按下“editFile”按钮再次打开窗格时,我注意到只有“固定项目”组合框已清除其选择,动态填充的组合框显示最后选定的项目,尽管从选择本身的值为
null
。这看起来像是一个图形错误,或者我做错了什么吗?有没有什么方法可以解决这个问题,或者重置组合框的最佳方法是什么?
编辑2014/08/27:
这正式不是一个错误(clearSelection()不清除值):
https://bugs.openjdk.java.net/browse/JDK-8097244 官方“解决办法”是在清除选择后清除ComboBox的值。
cb.getSelectionModel().clearSelection();
// Clear value of ComboBox because clearSelection() does not do it
cb.setValue(null);