Java で launch() を複数回呼び出す方法
JavaFX アプリケーションの起動メソッド launch() は、呼び出されるように設計されています申請ごとに 1 回のみ。 launch() を複数回呼び出そうとすると、「IllegalStateException」エラーが発生します。
解決策: 後続のウィンドウの作成を Platform.runLater()
を呼び出す代わりにラップします。 launch() を複数回実行する場合は、次のアプローチを検討してください。
コード例:
<code class="java">public class Wumpus extends Application { private static final Insets SAFETY_ZONE = new Insets(10); private Label cowerInFear = new Label(); private Stage mainStage; @Override public void start(final Stage stage) { mainStage = stage; mainStage.setAlwaysOnTop(true); Platform.setImplicitExit(false); cowerInFear.setPadding(SAFETY_ZONE); cowerInFear.setOnMouseClicked(event -> Platform.exit()); stage.setScene(new Scene(cowerInFear)); } public static void main(String[] args) { launch(args); // Another window can be created here by wrapping its creation // and display in a Platform.runLater() block. Platform.runLater(() -> { Stage newStage = new Stage(); newStage.setScene(new Scene(new Label("Another Window"))); newStage.show(); }); } }</code>
注:
以上がlaunch() を呼び出さずに複数の JavaFX ウィンドウを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。