Ich habe eine JList
, die Elemente aus einem ArrayList
von Objekten und zeigt einige Elemente aus dem Objekt im Listenbereich. Wenn ich dieses Element auswähle, zeigt es die vollständigen Informationen in anderen Feldern und Etiketten an. Im Rahmen meiner Programmumsetzung kann ich auch Objekte zur ArrayList
hinzufügen und entfernen. Was ich gerne tun würde, ist jedes Mal, wenn die ArrayList
geändert wird, wird die JList
aktualisiert, um den neuen Zustand der ArrayList
widerzuspiegeln. Unten ist der Code für mein JList
Element.JList dynamisch von Ereignissen aktualisieren
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);
Wie würde ich diese Liste dynamisch aktualisieren, wenn Elemente hinzugefügt und entfernt werden? Bitte stellen Sie keine vollständige Lösung zur Verfügung (da ich finde, dass ich dadurch besser lerne), aber alle hilfreichen Hinweise oder Vorschläge, bei denen ich eine Lösung finden könnte, wären willkommen.