在 ControlsFX 组合复选框中设置默认选中的复选框



我正在尝试为带有Java 8ControlsFX CheckComboBox v8.0.3设置默认的选定值

我已经尝试了这个问题中公认的答案,但是当我尝试时

CheckComboBox.getCheckModel().check(0);        

我得到一个不能从静态上下文引用的类。当我尝试以下内容时,我得到无法解析方法检查(int(;

final CheckComboBox<String> checkComboBox = new CheckComboBox<>(strings);
checkComboBox.getCheckModel().check(0);  

如果我尝试getCheckmodel().selectIndices(0)则仅当从CheckComboBox中选择新值时,第一个All1才会填充到CheckComboBox中。有没有办法在选择索引后刷新comboxBox或任何其他方法来实现我想要的?

Text numberTypeText = new Text("Features supported:");
final ObservableList<String> strings = FXCollections.observableArrayList();
strings.add("All1");
strings.add("All2");
strings.add("All3");
strings.add("All4");
strings.add("All5");
strings.add("All6");
strings.add("All7");
strings.add("All8");
final CheckComboBox<String> checkComboBox = new CheckComboBox<>(strings);
        checkComboBox.getCheckModel().selectIndices(0);
checkComboBox.getCheckModel().getSelectedItems().addListener(new ListChangeListener<String>() {
    public void onChanged(ListChangeListener.Change<? extends String> c) {
        System.out.println(checkComboBox.getCheckModel().getSelectedItems());
    }
});

任何帮助将不胜感激。

当我尝试以下内容时,我得到无法解析方法检查(int(;

这是因为您使用的是非常旧版本的ControlsFX。将您的 ControlsFX 升级到较新版本。

如果我尝试getCheckmodel((.selectIndices(0(,则只有当从CheckComboBox中选择新值时,第一个All1才会填充到CheckComboBox中。

这似乎是在较新版本的ControlsFX中修复的错误。

在 v8.40.14 中,我能够使用以下方法设置默认复选框check()

checkComboBox.getCheckModel().check(0);

或者,如果要检查多个项目,checkIndices()方法:

checkComboBox.getCheckModel().checkIndices(0, 1);

最新更新