![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
|
Themen-Optionen | Ansicht |
![]() |
#6 |
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
![]() Nachdem ich heute ein bischen Zeit hatte hab' ich mir das ganze mal angeschaut.
Es ist relativ klar wieso das nicht funktioniert. Um mir das Beschreiben zu vereinfachen benenne ich die Variable listModel in der Klasse ListBsp in myListModel um, und die Variable listModel in der Klasse MyListModel in defaultListModel. Sonst weiß man nicht was mit listModel gemeint ist. In der Klasse MyListModel speicherst du die Daten in defaultListModel Code:
defaultListModel = new DefaultListModel(); defaultListModel.addElement("Bubu"); defaultListModel.addElement("Bubu2"); defaultListModel.addElement("Bubu3"); Der JList übergibst du im Konstruktor myListModel: list = new JList(myListModel); Die JList versucht mit myListModel.getSize() die Größe (Zahl der Elemente) zu ermitteln und anschließend mit myListModel.getElementAt() die Elemente zu ermitteln. Die Funktionen size() und getElementAt() die du aus der Klasse DefaultListModel geerbt hast, arbeiten aber mit der internen Variable in der DefaultListModel die Daten speichert. Kurz gesagt: size() und getElementAt() haben keine Ahnung davon, daß es die Variablen dv und defaultListModel gibt und ignorieren sie daher. Wenn du daher die Daten anzeigen willst gibt es zwei Möglichkeiten: 1.) Code:
//Konstruktoren public MyListModel(Datenverwaltung dv) { super(); defaultListModel = new DefaultListModel(); addElement("Bubu"); addElement("Bubu2"); addElement("Bubu3"); } 2.) die Methoden "public int getSize(){}" und "public Object getElementAt(int index){}" so zu überschreiben das sie die gewünschten Daten zurückgeben. Ich weiß nicht ob du nur Daten im DefaultListModel speichern willst, oder auch in der Datenverwaltung Daten gespeichert werden sollen. Je nachdem musst du halt die Methoden getSize() und getElementAt(1) überschreiben. Außerdem wäre es vermutlich noch klug auch public void addListDataListener(ListDataListener l); public void removeListDataListener(ListDataListener l); und public void addElement(Object o); zu überschreiben. jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|