删除JList的选定项目

问题描述 投票:11回答:3

谁能告诉我一个简短的方式来删除我的JList所选项目吗?

我搜索谷歌和这里,但我发现很多种方式。我应该使用哪种方式?

java swing jlist
3个回答
25
投票

正如@Andreas_D说,数据中心,更抽象的ListModel是解决方案。这可能是一个DefaultListModel。你应该明确地设置在JList中的模型。所以(这要感谢@kleopatra评论):

DefaultListModel model = (DefaultListModel) jlist.getModel();
int selectedIndex = jlist.getSelectedIndex();
if (selectedIndex != -1) {
    model.remove(selectedIndex);
}

有在DefaultListModel几个remove...方法。顺便说一句,这是一个很好的问题,因为是API(ListModel的)中没有直接的解决方案。


3
投票

JList组件由列表模型支持。所以,从列表视图中删除项目的唯一推荐的方式是从模型中删除它(并刷新视图)。


0
投票

一旦你从模型中删除的元素也将被从列表中删除。您可以参考有关详细信息,这JList文章。由于名单是由一个模型,如果你做对模型进行任何操作的支持,也将反映在名单上。你只需要刷新视图。

© www.soinside.com 2019 - 2024. All rights reserved.