Fehler der nicht von meinem Code stammt?!

Kannst du das Programm denn überhaupt mit Netbeans bauen, oder führst du immer nur die (gleiche) .jar Datei aus?
 
Zuletzt bearbeitet:
Hallo,

ich kann es eigentlich ganz normal nutzen. D.h. Clean & Build und Run Project funktioniert. Nur hin und wieder dieser blöde Fehler :(

lg
 
Danke für die schnelle Antwort. Ich denke das mein Problem jedoch tiefgründiger ist. Wenn ich versuche das Programm im Debug modus zu starten kommt nichts. Die Ausgabe lautet lediglich:

init:
deps-jar:
compile:

Wenn ich es "normal" ausführe läuft es aber weitestgehend einwandfrei bis auf diesen sporadischen Fehler...

LG

Entschuldige noch mal, aber was genau meinst du mit "kommt nichts"? Startet dein Programm nicht, oder bekommst du nur keine Ausgabe, sprich keine Exceptions?
 
Weder noch. Das Programm öffnet sich nicht und ich kann somit auch keine Exceptions bekommen :-(

Andererseits könnte ich ja auch versuchen diesen Fehler von hand mit hilfe von try catch blöcken zu lokalisieren :D Dann hätte sich das ganze mit dem Debuggen erledigt!

LG
 
Irgendwie sieht der Fehler danach aus, dass sich der Programm-Thread und der "GUI"-Thread in die Quere kommen. Vor Allem, wenn der Fehler nicht wirklich reproduzierbar ist, ist das ein Anzeichen dafür, weil die beiden Threads genau im selben Moment etwas am gleichen Objekt verändern wollen/müssen bzw. Code ausführen sollen, damit das passiert. Meistens hilft es InvokeLater / InvokeAndWait zu benutzen.
Das war jedenfalls bei mir immer ein Problem, wenn ich solche Fehler bekam. Da hilft auch kein try-catch Rumprobieren, weil der Fehler außerhalb deiner Möglichkeiten entsteht, deshalb wäre Debuggen wohl auch sinvoller gewesen ^_^''

MfG =D
 
Zuletzt bearbeitet:
Ja, das stimmt wohl, dass eine Try Catch Umgebung da nicht viel hilft. Da habe ich nicht dran gedacht. Ich werde es mit dem InvokeLater einfach mal testen...

Vielen Dank für eure Hilfe ;-)

LG
 
Hallo,

entschuldigung das ich mich nicht weiter melden konnte. Hatte leider noch weitere Probleme.

Ich habe das invokeLater eingebunden! Die null PointerException ist auch weg. Jetzt kann aber ein anderer Thread nicht mehr auf die Methode zugreifen?! Ist das richtig so?

Wenn ich das invokeAndWait einbinde gibt es bei mir folgende Fehlermeldung:

Code:
Exception in thread "AWT-EventQueue-0" java.lang.Error: Cannot call invokeAndWait from the event dispatcher thread
        at java.awt.EventQueue.invokeAndWait(EventQueue.java:836)
        at gui.GUI.reloadAnzeige(GUI.java:930)
        at gui.GUI.formComponentResized(GUI.java:857)
        at gui.GUI.access$000(GUI.java:25)
        at gui.GUI$1.componentResized(GUI.java:97)
        at java.awt.AWTEventMulticaster.componentResized(AWTEventMulticaster.java:101)
        at java.awt.AWTEventMulticaster.componentResized(AWTEventMulticaster.java:101)
        at java.awt.Component.processComponentEvent(Component.java:5343)
        at java.awt.Component.processEvent(Component.java:5297)
        at java.awt.Container.processEvent(Container.java:1966)
        at java.awt.Window.processEvent(Window.java:1174)
        at java.awt.Component.dispatchEventImpl(Component.java:3984)
        at java.awt.Container.dispatchEventImpl(Container.java:2024)
        at java.awt.Window.dispatchEventImpl(Window.java:1791)
        at java.awt.Component.dispatchEvent(Component.java:3819)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Ich hoffe ihr könnt mir noch einmal helfen

Grüße
Dennis
 
invokeAndWait wirft ein Error, wenn man versucht, es vom EventDispatchThread aufzurufen... Die Methode scheduled einen Task um ihn auf dem EDT auszuführen und wartet auf dessen return... Du sagst damit quasi dem EDT "Mach nichts bis der Task hier fertig ist" und gleichzeitig "erledige unbedingt den Task hier", damit verursachst du ein Deadlock. Versuch invokeAndWait durch invokeLater() zu ersetzten, wenn möglich.

Gruss
.bile
 
Danke für die Antwort!

Jedoch wird die Funktion zu langsam wenn ich invokeLater nutze. Kann man nicht einfach alle Events für den Zeitraum deaktivieren, sodass die EventQueue gar nicht erst einen Fehler erzeugt. Oder anders ausgedrückt: Ich will das Problem ungerne unterdrücken, sondern lieber beheben und an dessen Ursprung ansetzen, wenn das geht.

Grüße
Dennis
 
Das invoke--- ist nur dafür da um aus anderen Threads auf den EventQueue Thread zuzugreifen und nicht aus diesem heraus aufzurufen.
 
Zurück