Java の同じパッケージ内でのスタンドアロン アプリケーションの起動
親アプリケーション内からのスタンドアロン アプリケーションの起動は、さまざまなシナリオで共通の要件となる場合があります。ただし、スタンドアロン アプリケーションがすべて同じパッケージの一部である場合、問題が発生します。
myClass2.launch("") を使用して myClass1 から myClass2 を起動する従来のアプローチでは、起動が困難であるため、エラーが発生します。
この問題を解決するには、拡張するのではなく、モジュールごとに個別のクラスを作成して設計をリファクタリングするのがより適切なアプローチです。アプリケーションクラス。これらのクラスは、必要に応じてインスタンス化および管理できます。
アプリケーション設計のリファクタリング
FirstModule や SecondModule などの通常のクラスを作成して、各スタンドアロン アプリケーションの機能をカプセル化します。 .
public class FirstModule { private BorderPane view; public FirstModule() { // Create and configure the view } public Parent getView() { return view; } }
インスタンス化と管理モジュール
モジュールは、メイン アプリケーション内で直接インスタンス化して管理できます。
FirstModule firstModule = new FirstModule(); Scene scene = new Scene(firstModule.getView()); Stage stage = new Stage(); stage.setScene(scene); stage.show();
スタンドアロン アプリケーションの作成
必要なモジュールの場合スタンドアロン アプリケーションとして実行するには、個別のアプリケーション サブクラスを使用できます。作成されました。
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 { private HBox view; public CompositeModule() { // Create buttons to launch individual modules } public Parent getView() { return view; } } public class CompositeApplication extends Application { @Override public void start(Stage primaryStage) { Scene scene = new Scene(new CompositeModule().getView()); primaryStage.setScene(scene); primaryStage.show(); } }
これこのアプローチにより、同じパッケージ内に複数のスタンドアロン アプリケーションを含めることができ、それらを他のモジュール内からシームレスに起動したり、アプリケーション。
以上が同じパッケージ内で複数のスタンドアロン Java アプリケーションを起動するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。