从JList中删除所选项目
谁能告诉我从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
组件由列表模型支持。 因此,从列表视图中删除项目的唯一推荐方法是从模型中删除它(并刷新视图)。