当前位置: 首页 > 知识库问答 >
问题:

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

凌和颂
2023-03-14

我正在尝试从JList中删除选定的元素。我知道怎么去掉一个

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

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

list.getSelectedIndices();

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

共有1个答案

蒋烨然
2023-03-14

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

DefaultListModel model = (DefaultListModel) jList.getModel();
int[] indexes = jList.getSelectedIndexes();
for (int i = indexes.length; i >= 0; --i) {
    model.remove(indexes[i]);
}
 类似资料:
  • 问题内容: 谁能告诉我从我删除所选项目的简便方法? 我在Google和此处进行了搜索,但发现了很多方法。我应该使用哪种方式? 问题答案: 正如@Andreas_D所说,以数据为中心,更抽象的ListModel是解决方案。这可以是DefaultListModel。您应该在JList中显式设置模型。所以(感谢@kleopatra发表评论): DefaultListModel中有几种方法。 顺便说一句,

  • 当用户点击按钮时,我试图从JList中删除选中的项目。 目前我有这样的东西: 当我单击按钮删除项目时,出现以下错误: 如何修复此错误,以及我的代码是否删除了多个项目?

  • 我安装了Rabbitmqadmin,并能够列出所有的交换和队列。如何使用Rabbitmqadmin或Rabbitmqctl删除所有队列。

  • 你知道在构建过程中给元素分配属性是非常有帮助和高效的。基本上,元素是一个可以分配给任何东西的对象: 在测试中,这些实际上运行良好,返回了可靠的结果; 我寻求一种方法来详细观察和操纵这些动作。 例如,我想得到一个所有赋值的对象: 以及一种删除所有的方法(仅指定了插件javascript,而不是默认值,例如,,等等)

  • 问题内容: 我正在使用,我想删除所有出现的特定元素。 它仅删除第一次出现的事件。但是我希望所有列表都被删除,因为我希望列表仅保留值“ second”。通过谷歌搜索发现,可以通过创建新列表并调用来实现。但是是否可以在不创建新列表的情况下删除所有出现的内容,或者是否有可用的API来实现它? 问题答案:

  • 在List/ArrayList中有没有什么方便的方法可以移除列表中特定索引之后的所有元素?而不是手动循环通过它来移除。 为了更解释,如果我有一个包含10个元素的列表,我想提到索引3,然后索引3之后的所有元素都被删除,我的列表现在只包含4个元素(从0开始计数)