Rumah  >  Artikel  >  Java  >  Cara Mengelakkan Pengecualian \"Pelancaran Aplikasi Tidak Boleh Dipanggil Lebih daripada Sekali\" dalam JavaFX

Cara Mengelakkan Pengecualian \"Pelancaran Aplikasi Tidak Boleh Dipanggil Lebih daripada Sekali\" dalam JavaFX

DDD
DDDasal
2024-10-24 06:01:02206semak imbas

How to Avoid

Cara Menangani Pengecualian "Pelancaran Aplikasi Tidak Mesti Dipanggil Lebih daripada Sekali" dalam Java

Memanggil pelancaran() lebih daripada sekali dalam aplikasi JavaFX tidak dibenarkan. Ini dinyatakan secara jelas dalam dokumentasi JavaFX:

Ia tidak boleh dipanggil lebih daripada sekali atau pengecualian akan dibuang.

Cadangan untuk Memaparkan Tetingkap Secara Berkala

Daripada berbilang panggilan untuk melancarkan(), ikut langkah berikut:

  1. Panggil Application.launch() sekali.
  2. Pastikan masa jalan JavaFX berjalan di latar belakang menggunakan Platform .setImplicitExit(false).
  3. Apabila anda perlu memaparkan tetingkap lain, laksanakan panggilan window show() dalam Platform.runLater() untuk memastikan ia dikendalikan oleh utas aplikasi JavaFX.

Contoh Pelaksanaan:

<code class="java">public class MyApplication extends Application {
    private Stage primaryStage;

    @Override
    public void start(Stage primaryStage) {
        this.primaryStage = primaryStage;
        primaryStage.setScene(new Scene(new Label("Hello, World!")));
        primaryStage.show();

        // Keep the JavaFX runtime running in the background
        Platform.setImplicitExit(false);
    }

    public void showNewWindow() {
        Platform.runLater(() -> {
            Stage newWindow = new Stage();
            newWindow.setScene(new Scene(new Label("New Window")));
            newWindow.show();
        });
    }

    public static void main(String[] args) {
        launch(args);
    }
}</code>

Pendekatan Alternatif:

  • Menggunakan JFXPanel: Daripada Permohonan, anda boleh menggunakan JFXPanel. Walau bagaimanapun, corak penggunaan kekal serupa.
  • Menggunakan Platform.startup(): Java 9 memperkenalkan Platform.startup() untuk mencetuskan masa jalan JavaFX tanpa kelas Aplikasi dan panggilan pelancaran(). Sekatan yang sama dikenakan seperti pelancaran().

Kesimpulan (Pilihan):

Dengan mematuhi garis panduan ini, anda boleh mengelakkan "Pelancaran Aplikasi Mesti Tidak Dipanggil Lebih daripada Sekali" pengecualian dan paparkan tetingkap secara berkala dalam aplikasi JavaFX anda.

Atas ialah kandungan terperinci Cara Mengelakkan Pengecualian \"Pelancaran Aplikasi Tidak Boleh Dipanggil Lebih daripada Sekali\" dalam JavaFX. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn