首頁 >Java >java教程 >如何從同一個套件啟動多個獨立的 JavaFX 應用程式?

如何從同一個套件啟動多個獨立的 JavaFX 應用程式?

DDD
DDD原創
2024-12-02 05:30:10525瀏覽

How Can I Launch Multiple Standalone JavaFX Applications from the Same Package?

在包裝中啟動獨立應用程式

背景:

您有多個獨立應用程式( myClass1、myClass2 等)位於同一個Java 套件中,並希望彼此獨立地啟動它們。然而,簡單地呼叫另一個應用程式的 launch() 方法會導致錯誤,因為重複的應用程式啟動被禁止。

解決方案:

雖然可以直接使用在Application 子類別的新實例上呼叫start(...) ,由於以下幾個原因,不鼓勵這樣做:

  • 它違背了start(...) 方法的預期目的是取代傳統Java 應用程式中的main 方法。
  • 每個 Application 子類別代表一個整個正在運行的應用程序,使得多個實例本質上不可重用。

重新建構您的設計:

要解決此問題,請考慮重建您的設計,以便應用程式模組不是應用程式子類,而是常規類。這允許您為每個模組創建單獨的獨立應用程序,或將它們實例化為更大應用程式的一部分。

獨立應用程式範例:

public class FirstApplication extends Application {

    @Override
    public void start(Stage primaryStage) {
        Scene scene = new Scene(new FirstModule().getView());
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

複合模組範例:

public class CompositeModule {
    // ...

    public void showFirstModule() {
        Scene scene = new Scene(new FirstModule().getView());
        Stage stage = new Stage();
        stage.initOwner(this.getClass());  // Must use a JavaFX class, not an Application class
        stage.setScene(scene);
        stage.show();
    }

    // ...
}

透過遵循此方法,您可以創建並啟動同一包中的多個獨立應用程序,同時遵守JavaFX 最佳實踐。

以上是如何從同一個套件啟動多個獨立的 JavaFX 應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn