ich möchte in eine JList die Elemente von einer LinkedList einfügen. Aber beim Auslesen hängt er sich in der Schleife auf.
Einfügen
Code:
listDaten.add(textAdd.getText());
Auslesen
Code:
DefaultListModel dlm = new DefaultListModel();
JList liste = new JList(dlm);
while(listDaten.listIterator().hasNext()){
dlm.addElement(listDaten.listIterator().next());
}
Du darfst nicht, während Du durch eine Liste iterierst, dieser Liste Elemente hinzufügen oder entfernen. Stattdessen kannst Du die Liste mit ner For-Schleife durchgehen und Deine Operationen durchführen.
Du darfst nicht, während Du durch eine Liste iterierst, dieser Liste Elemente hinzufügen oder entfernen. Stattdessen kannst Du die Liste mit ner For-Schleife durchgehen und Deine Operationen durchführen.
wenn ich mehrmals schnell hintereinander klicke, also daten schnell in die liste hinzufüge, dann packt er auch was in die JList ?!?! aber wenn ich z.b. nur ein Element hinzufüge passiert folgendes
java.util.NoSuchElementException
at java.util.LinkedList$ListItr.next(Unknown Source)
at Design.actionPerformed(Design.java:76)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
liegt das vllt daran das es "zu schnell" geht und der dlm nicht mitkommt?
also wenn er die liste bearbeiten würde durch die er iteriert müsste er ne ConcurrentModificationException kriegen aber das macht er ja nicht, wie dbac schon gesagt hat.
wenns nicht zu viel ist, poste doch bitte mal den ganzen code.
du erzeugst ja z.B. immer eine neue JList etc. das brauchst du ja nicht, du hast ein DefaultListModel und eine JList, das List Model passt du dann entsprechend an. NoSuchElementException würde heissen du versuchst mit next() das nächste Element zu holen und bist am Ende der Liste angekommen, demnach gibt es kein nächstes Element, durch die Schleifenbedingung kommt mir das aber etwas seltsam vor.