如何启用多重选择模式是ListView?

时间:2017-04-10 04:44:37

标签: java javafx

我尝试为ListView启用多种选择模式。但是,当我测试它时它似乎仍处于单选模式,我不确定出了什么问题。救命?谢谢。这是我的代码:

float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 14, r.getDisplayMetrics());

1 个答案:

答案 0 :(得分:1)

选择时按住Shift或Ctrl键。

Shift - >选择范围,顶部选择到底部选择 Ctrl - >添加单个选定的行。

如果您想在不使用键的情况下进行多项选择,可以使用此帖子中的单元格工厂: Deselect an item on an javafx ListView on click

在你的情况下:

    AlphabetsLv.setCellFactory(alv -> {
        ListCell<String> cell = new ListCell<>();
        cell.textProperty().bind(cell.itemProperty());
        cell.addEventFilter(MouseEvent.MOUSE_PRESSED, event -> {
            AlphabetsLv.requestFocus();
            if (!cell.isEmpty()) {
                int index = cell.getIndex();
                if (AlphabetsLv.getSelectionModel().getSelectedIndices().contains(index)) {
                    AlphabetsLv.getSelectionModel().clearSelection(index);
                } else {
                    AlphabetsLv.getSelectionModel().select(index);
                }
                event.consume();
            }
        });
        return cell;
    });