gpt4 book ai didi

java - 如何启用ListView的多选模式?

转载 作者:行者123 更新时间:2023-12-02 13:28:08 26 4
gpt4 key购买 nike

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

ObservableList<String> alphabets
= FXCollections.observableArrayList("Aa", "Bb", "Cc",
"Dd", "Ee");

ListView<String> AlphabetsLv = new ListView<String>(alphabets);
AlphabetsLv.setPrefSize(80, 80);
AlphabetsLv.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

最佳答案

选择时按住 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;
});

关于java - 如何启用ListView的多选模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43315135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com