繁体   English   中英

从 JList 中删除所有选定的元素?

[英]Remove all selected elements from JList?

我正在尝试从 JList 中删除选定的元素。 我知道如何删除一个

((DefaultListModel) jList.getModel()).remove(index);

然而; 有没有办法删除我选择的索引? 我知道这个功能

list.getSelectedIndices();

它返回一个 Int 数组。 我想如果我遍历它以删除它应该工作的索引,但是我从中得到错误(假设因为索引 # 正在下降。

删除一个元素将“移动”它之后的所有元素,这可能是您看到的错误的原因。 解决此问题的一种方法是向后迭代这些索引,因此您永远不会处理列表的移位部分:

DefaultListModel model = (DefaultListModel) jList.getModel();
int[] indexes = jList.getSelectedIndexes();
for (int i = indexes.length; i >= 0; --i) {
    model.remove(indexes[i]);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM