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