Java에서 launch()를 두 번 이상 호출하는 방법
JavaFX 응용 프로그램 시작 메서드인 launch()는 호출되도록 설계되었습니다. 신청당 한 번만 가능합니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!