Wie kann ich ein sekundäres JavaFX-Fenster (stage) von außerhalb der "start" -Methode öffnen? Zum BeispielÖffne ein zweites JavaFX-Fenster von außen start
public class GUI_Test extends Application {
static Stage secondStage;
public static void main(String[] args) {
launch(args);
showSecondWin();
}
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setScene(new Scene(
new VBox(
new Label("window 1"))));
primaryStage.show();
secondStage = new Stage();
}
public static void showSecondWin() {
secondStage.setScene(new Scene(
new VBox(
new Label("window 2"))));
secondStage.show();
}
}
Der obige Code nur das erste Fenster zeigt („primaryStage“) und (nur), wenn ich es eine java.lang.reflect.InvocationTargetException
Fehlermeldung schließen erscheint.
James_D sagte, es gibt eine Möglichkeit, ein zweites Fenster von außen zu öffnen. Wie kann dies erreicht werden?
Es ist anders als bei anderen Fragen, weil ich nicht das zweite Fenster mit einer Schaltfläche oder irgendetwas anderes von der start() -Methode öffnen möchte, wie ich in meinem Kommentar zu sillyfly erklärt habe. –
Sie sollten sich die 'start()' Methode in einer JavaFX Anwendung als Ersatz für die 'main()' Methode in einer "traditionellen" (d. H. Nicht JavaFX) Anwendung vorstellen. (In JavaFX brauchen Sie nicht einmal eine 'main()' Methode!) Also ist 'start()' der Einstiegspunkt für die Anwendung: Alles wird von diesem Punkt aus initiiert. Es macht nicht wirklich Sinn, nach etwas zu fragen, was nicht durch die 'start()' Methode ausgelöst wird. Vielleicht wird [diese Frage] (http://stackoverflow.com/questions/37579645) helfen. –
@James_D Ich möchte das zweite Fenster von einer Methode erstellen (nicht starten), innerhalb der Anwendungsklasse. Die SecondWin-Methode wird von einer anderen Klasse aufgerufen. –