gpt4 book ai didi

listview - JavaFX:清除 ListView

转载 作者:行者123 更新时间:2023-12-04 16:34:17 24 4
gpt4 key购买 nike

当我单击某个按钮时,我想清除 ListView 中的所有内容。我试图通过索引删除它,但它给了我异常(exception)。我不太明白 ListView 的 SelectionModel。这是我的尝试:

asiLogsListView.getSelectionModel().selectAll();
ObservableList<Integer> indices = asiLogsListView.getSelectionModel().getSelectedIndices();
for(int index : indices) {
asiLogsListView.getSelectionModel().getSelectedItems().remove(index);
}

或者
asiLogsListView.getSelectionModel().getSelectedItems().removeAll(indices);

最佳答案

清除 ListView 中的所有项目, 做就是了

asiLogsListView.getItems().clear();

如果要清除选择,请执行
asiLogsListView.getSelectionModel().clearSelection();

棘手的是从 ListView 中删除所有选定的项目。 :
List<Integer> selectedItemsCopy = new ArrayList<>(asiLogsListView.getSelectionModel().getSelectedItems());
asiLogsListView.getItems().removeAll(selectedItemsCopy);

您的代码看起来像是试图清除选择,因为您正试图从 selectionModel 中删除所有元素。的 selectedItems列表。问题在于,当您删除每个项目时,剩余项目的索引会发生变化,因此您最终会删除错误的项目,并可能以 ArrayIndexOutOfBoundsException 结束。 s(如果您最终得到的项目少于所选项目的最大索引)。

关于listview - JavaFX:清除 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24206854/

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