Hallo,
Ich versuche gerade folgendes Problem zu lösen. Ich möchte, ein Event auslösen (Check TCP Connection), sobald die Stage angezeigt wird.
Ich habe daher den Window Event WINDOW.SHOWING gefunden und möchte diesen nun implementieren.
WindowEvent (JavaFX 8) (oracle.com)
Leider funktioniert dies nicht, so wie ich es mir vorstelle.
Und zwar habe ich den event handler beim erstellen der Stage hinzugefügt:
Im Controller wird dann bis jetzt einfach einen Text ausgegeben:
Beim ersten mal erstellen der Stage funktionierts.
Danach wenn ich das Fenster minimiere und wieder maximiere, passiert nichts mehr.
Ist das der Falsche Event? Was kann ich machen, damit eine Methode ausgeführt wird, sobald der "Fokus" auf die Stage gerichtet wird?
Vielen Dank für eure Hilfe....
Ich versuche gerade folgendes Problem zu lösen. Ich möchte, ein Event auslösen (Check TCP Connection), sobald die Stage angezeigt wird.
Ich habe daher den Window Event WINDOW.SHOWING gefunden und möchte diesen nun implementieren.
WindowEvent (JavaFX 8) (oracle.com)
Leider funktioniert dies nicht, so wie ich es mir vorstelle.
Und zwar habe ich den event handler beim erstellen der Stage hinzugefügt:
Java:
public void createMainWindow() {
try {
FXMLLoader loader = new FXMLLoader(Main.class.getResource("MainWindow.fxml"));
AnchorPane pane = loader.load();
primaryStage.setMinHeight(400);
primaryStage.setMinWidth(500);
MainWindowController mainWindowController = loader.getController();
mainWindowController.setMain(this);
Scene scene = new Scene(pane);
primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("Icon.jpg")));
primaryStage.setTitle("WinFTM XML Handler");
primaryStage.addEventHandler(WindowEvent.WINDOW_SHOWN, new EventHandler<WindowEvent>()
{
@Override
public void handle(WindowEvent window)
{
mainWindowController.handleWindowShowingEvent();
}
});
primaryStage.setScene(scene);
primaryStage.setResizable(false);
primaryStage.show();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
Im Controller wird dann bis jetzt einfach einen Text ausgegeben:
Java:
public void handleWindowShowingEvent() {
System.out.println("hello Window Event");
}
Beim ersten mal erstellen der Stage funktionierts.
Danach wenn ich das Fenster minimiere und wieder maximiere, passiert nichts mehr.
Ist das der Falsche Event? Was kann ich machen, damit eine Methode ausgeführt wird, sobald der "Fokus" auf die Stage gerichtet wird?
Vielen Dank für eure Hilfe....