【发布时间】:2016-08-06 15:44:17
【问题描述】:
我有一个JList,它从对象的ArrayList 中获取元素,并在列表窗格中显示对象中的一些元素。当我选择该元素时,它会在其他字段和标签中显示完整信息。作为我的程序实现的一部分,我还可以向ArrayList 添加和删除对象。我想做的是每次更改ArrayList 时JList 都会更新以反映ArrayList 的新状态。下面是我的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);
如何在添加和删除项目时动态更新此列表?请不要提供完整的解决方案(因为我发现这样做会更好地学习),但如果我能找到解决方案的任何有用的提示或建议,我们将不胜感激。
【问题讨论】:
标签: java swing arraylist jlist eventhandler