我有一个JList
,它从对象的ArrayList
中获取元素,并显示列表窗格中对象的一些元素。当我选择该元素时,它会在其他字段和标签中显示完整的信息。作为我的程序实现的一部分,我也可以添加和删除对象到ArrayList
。我想要做的是每次ArrayList
更改JList
将更新以反映ArrayList
的新状态。以下是我的JList
元素的代码。从事件动态更新JList
DefaultListModel<String> defListModel = new DefaultListModel<String>();
if(studentList.size() > 0){
for(int i = 0; i < studentList.size(); i++){
Student aStudent = studentList.get(i);
defListModel.addElement(aStudent.toString());
}
}
JList<String> list = new JList<String>(defListModel);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
JScrollPane scroll = new JScrollPane(list, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
ListSelectionModel listSelectionModel = list.getSelectionModel();
listSelectionModel.addListSelectionListener(new SelectionListener());
scroll.setBounds(16, 24, 130, 205);
mainPanel.add(scroll);
如何添加和删除项目时动态更新此列表?请不要提供完整的解决方案(因为我发现我可以更好地学习),但任何有用的提示或建议,我可以找到解决方案,将不胜感激。