我有一個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);
如何添加和刪除項目時動態更新此列表?請不要提供完整的解決方案(因爲我發現我可以更好地學習),但任何有用的提示或建議,我可以找到解決方案,將不勝感激。