"start"メソッドの外部から2番目のJavaFXウィンドウ(ステージ)を開くにはどうすればよいですか?例えば、外部から2番目のJavaFXウィンドウを開く
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();
}
}
上記のコードは、最初のウィンドウ(「primaryStage」)を示しており、私はそれを閉じて(のみ)場合java.lang.reflect.InvocationTargetException
エラーメッセージが表示されます。
James_Dには、最初から外から2番目のウィンドウを開く方法があると言いました。これはどのように達成できますか?
私はsillyflyへの私のコメントで説明したように、ボタンやその他のstart()メソッドから2番目のウィンドウを開きたくないので、これは他の質問とは異なります。 –
JavaFXアプリケーションの 'start()'メソッドは、 "従来の"(つまりJavaFXではなく)アプリケーションの 'main()'メソッドの代わりに考えるべきです。 (JavaFXでは、 'main()'メソッドは必要ありません!) 'start()'はアプリケーションのエントリーポイントです。すべてがそのポイントから開始されます。最終的に 'start()'メソッドによってトリガされないものを行うように依頼するのは、実際には意味がありません。おそらく[この質問](http://stackoverflow.com/questions/37579645)が役立ちます。 –
@James_D私は、アプリケーションクラス内のメソッド(開始ではない)から2番目のウィンドウを作成したいと思います。 SecondWinメソッドは別のクラスによって呼び出されます。 –