Hallo zusammen,
ich habe die folgende Programmstruktur:
Von einem Hauptprogramm rufe ich mehrere Fenster als neue Stages auf, die ich bei Bedarf wieder schließe. Dazu habe ich in der Start-Stage eine Methode mit der ich die Stage-Instanz abrufen kann. Das klappt auch alles super. Wenn ich jetzt ein neues Fenster öffne, sind dort mehrere Controls, für mein Problem sind aber 2 maßgeblich: Der End-Button und eine Combo-Box. Der End-Button ruft eine eigene Methode "endStage" auf, da ich diese Methode auch von anderen Stellen ansprechen will, habe ich sie außerhalb des EventHandlers des Buttons geschrieben und rufe im EventHandler nur diese Methode auf. Auch das klappt problemlos.
Über die Combo-Box stelle ich eine Verbindung über die serielle Schnittstelle her, dann werden ein paar Daten eingelesen, die das angeschlossene Modul sendet und wenn es sich um eine gültiges Modul handelt werden die Konfigurationsdaten dargestellt. Ist kein Modul angeschlossen oder es ist keine gültige Konfiguration, dann soll eine Fehlermeldung ausgegeben werden und das Fenster geschlossen.
Starte ich nun das Programm und ein Konfigurationsfenster und schließe es sofort wieder über den End-Button tritt kein Fehler auf. Wähle ich die Combo-Box an, öffnet sich auch die Schnittstelle und wenn es ein korrektes Modul ist wird die Konfiguration ausgelesen. Ist es aber ein ungültiges Modul und die "endStage"-Methode wird aufgerufen, erhalte ich eine Exception, in der Form:
Irgendwie stehe ich auf dem Schlauch :bahnhof: und mache wohl einen Denkfehler, aber ist es nicht gleichberechtigt, ob ich die endStage-Methode über den Eventhandler vom Button aufrufe oder aus dem Eventhandler der ComboBox?
Hat jemand eine Idee, wo mein Fehler liegen kann? Für alle Tipps schon mal vielen Dank!
ich habe die folgende Programmstruktur:
Von einem Hauptprogramm rufe ich mehrere Fenster als neue Stages auf, die ich bei Bedarf wieder schließe. Dazu habe ich in der Start-Stage eine Methode mit der ich die Stage-Instanz abrufen kann. Das klappt auch alles super. Wenn ich jetzt ein neues Fenster öffne, sind dort mehrere Controls, für mein Problem sind aber 2 maßgeblich: Der End-Button und eine Combo-Box. Der End-Button ruft eine eigene Methode "endStage" auf, da ich diese Methode auch von anderen Stellen ansprechen will, habe ich sie außerhalb des EventHandlers des Buttons geschrieben und rufe im EventHandler nur diese Methode auf. Auch das klappt problemlos.
Über die Combo-Box stelle ich eine Verbindung über die serielle Schnittstelle her, dann werden ein paar Daten eingelesen, die das angeschlossene Modul sendet und wenn es sich um eine gültiges Modul handelt werden die Konfigurationsdaten dargestellt. Ist kein Modul angeschlossen oder es ist keine gültige Konfiguration, dann soll eine Fehlermeldung ausgegeben werden und das Fenster geschlossen.
Starte ich nun das Programm und ein Konfigurationsfenster und schließe es sofort wieder über den End-Button tritt kein Fehler auf. Wähle ich die Combo-Box an, öffnet sich auch die Schnittstelle und wenn es ein korrektes Modul ist wird die Konfiguration ausgelesen. Ist es aber ein ungültiges Modul und die "endStage"-Methode wird aufgerufen, erhalte ich eine Exception, in der Form:
Java:
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1762)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1645)
Irgendwie stehe ich auf dem Schlauch :bahnhof: und mache wohl einen Denkfehler, aber ist es nicht gleichberechtigt, ob ich die endStage-Methode über den Eventhandler vom Button aufrufe oder aus dem Eventhandler der ComboBox?
Hat jemand eine Idee, wo mein Fehler liegen kann? Für alle Tipps schon mal vielen Dank!