JavaFX - 如何在CheckBoxListCell.forListView上使用shift单击

时间:2017-05-18 08:10:29

标签: java javafx checkboxlist shift

我正在使用JavaFX开展项目,并尝试使用以下代码在ListView中启用多选复选框:

    ListView<ActivableItem> listView = new ListView<>();
    listView.setPrefSize(210, 210);
    listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

    listView.setCellFactory(
        CheckBoxListCell.forListView(new Callback<ActivableItem, ObservableValue<Boolean>>() {
        @Override
        public ObservableValue<Boolean> call(ActivableItem item) {
            return item.getBooleanProperty();
        }
    }));
    // filling listView and making other stuff

其中ActivableItem是我创建的包含项(泛型类型)和BooleanProperty属性的类。

因此,我有一个带有可检查项目的正确ListView

ListView checkable

Shift +单击在单元格上运行良好,我可以选择它们,但复选框似乎不理解SelectionMode.MULTIPLE属性。相反,当我使用shift单击复选框时,单元格甚至没有被选中,它处于焦点模式(如图像中所示)

目前,我正在研究替代解决方案(选择单元格,点击按钮&#34;检查&#34;或创建我自己的单元工厂),但如果我可以使用什么是更方便的话已经制作了,所以......

有可能吗?有没有办法启用多选复选框?

我正在寻求帮助,谢谢。

0 个答案:

没有答案