谁能告诉我一个简短的方式来删除我的JList
所选项目吗?
我搜索谷歌和这里,但我发现很多种方式。我应该使用哪种方式?
正如@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的)中没有直接的解决方案。
该JList
组件由列表模型支持。所以,从列表视图中删除项目的唯一推荐的方式是从模型中删除它(并刷新视图)。
一旦你从模型中删除的元素也将被从列表中删除。您可以参考有关详细信息,这JList文章。由于名单是由一个模型,如果你做对模型进行任何操作的支持,也将反映在名单上。你只需要刷新视图。