从 JList 中删除所选项目

2022-09-03 04:32:02

任何人都可以告诉我一个简短的方法来从我的中删除选定的项目?JList

我在谷歌和这里搜索,但我找到了很多方法。我应该使用哪种方式?


答案 1

正如@Andreas_D所说,以数据为中心,更抽象的ListModel是解决方案。这可以是 DefaultListModel。您应该在 JList 中显式设置模型。所以(感谢@kleopatra的评论):

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

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


答案 2

该组件由列表模型支持。因此,从列表视图中删除项目的唯一推荐方法是将其从模型中删除(并刷新视图)。JList


推荐