JTextArea, JPanel, JFrame

Saban

Erfahrenes Mitglied
Hallo Zusammen!

ich habe eine Oberfläche geschrieben welche auch wunderbar funktioniert hat. Dann habe ich diese, bestehend aus einer JTextArea einem JLabel auf ein Panel gesetzt und mit einem FactoryBorder versehen. Jetzt kommt es beim ausführen des selben Programmcodes (also die Komponenten wurden nur auf ein Panel gesetzt und mit nem FactoryBorder versehen sonst hat sich nichts geändert) zu Fehlermeldungen, die jedoch ganz zufällig erscheinen. Mal kommt eine und dann mal wieder nicht. Außerdem verschiebt sich die JTextArea ab und zu weiter nach oben als sie soll wenn ich das Frame auf dem alles liegt schließe und das Prog erneut ausführe passt alles wieder.

Die Fehlermeldung ist:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: No such child: 0
at java.awt.Container.getComponent(Unknown Source)
at javax.swing.JViewport.getView(Unknown Source)
at javax.swing.JViewport.setViewPosition(Unknown Source)
at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.vsbStateChanged(Unknown Source)
at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(Unknown Source)
at javax.swing.DefaultBoundedRangeModel.fireStateChanged(Unknown Source)
at javax.swing.DefaultBoundedRangeModel.setRangeProperties(Unknown Source)
at javax.swing.JScrollBar.setValues(Unknown Source)
at javax.swing.plaf.basic.BasicScrollPaneUI.syncScrollPaneWithViewport(Unknown Source)
at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.viewportStateChanged(Unknown Source)
at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(Unknown Source)
at javax.swing.JViewport.fireStateChanged(Unknown Source)
at javax.swing.JViewport$ViewListener.componentResized(Unknown Source)
at java.awt.Component.processComponentEvent(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.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(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)

ich hoffe ihr könnt mir helfen :confused::confused::confused:
Würde mich freuen wenn ich keinen Code Posten müsste da es für die Arbeit ist und ich da nicht weiß was ich zeigen kann und was nicht!

MfG
Saban
 
Moin,

ich würde ganz einfach mal pauschal behaupten, dass Du im Container an die Komponenten ran willst, mit welcher Methode auch immer. Und dabei - so scheint es - werden die Komponenten nicht nach dem adden auf den Container angesprochen, sondern vorher. Deshalb auch der IndexOutOfBounds. Es kann natürlich sein, dass Deine Methode zum Ansprechen nicht zur selben Zeit aufgerufen wird, deshalb wechselt die Exception - mal da, mal nicht.

Im Sun-Forum stand etwas davon, dass Du mit invokeLater als Workaround arbeiten könntest, bei dem Kollegen dort schien es funktioniert zu haben.

Aber na klar, ohne Code ist alles immer nur hypothetisch.

Gruß,
Xan
 
Hi Xandro!

erst mal vielen Dank für deine Antwort! Ich habe den Fehler schon entdeckt und zwar wird der Fehler vom Scrollpane aufgerufen ich weiß zwar noch nicht genau wieso aber hab immerhin schon mal die Quelle gefunden.

Vielen Dank für deine Mühe!

MfG
Saban
 
Zurück