Cara Memanggil pelancaran() Lebih Daripada Sekali dalam Java
Kaedah pelancaran aplikasi JavaFX, launch(), direka untuk dipanggil sekali sahaja setiap permohonan. Percubaan untuk memanggil pelancaran() lebih daripada sekali mengakibatkan ralat "IllegalStateException".
Penyelesaian: Bungkus Penciptaan Tetingkap Seterusnya dalam Platform.runLater()
Daripada memanggil launch() beberapa kali, pertimbangkan pendekatan berikut:
Kod Contoh:
<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>
Nota:
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Berbilang Windows JavaFX tanpa Mengingat pelancaran()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!