Heim >Java >javaLernprogramm >Wie kann ich mehrere eigenständige Java-Anwendungen innerhalb desselben Pakets starten?

Wie kann ich mehrere eigenständige Java-Anwendungen innerhalb desselben Pakets starten?

Barbara Streisand
Barbara StreisandOriginal
2024-12-03 06:58:09718Durchsuche

How Can I Start Multiple Standalone Java Applications Within the Same Package?

Starten eigenständiger Anwendungen innerhalb desselben Pakets in Java

Das Starten eigenständiger Anwendungen innerhalb einer übergeordneten Anwendung kann in verschiedenen Szenarien eine häufige Anforderung sein. Es stellt jedoch eine Herausforderung dar, wenn die eigenständigen Anwendungen alle Teil desselben Pakets sind.

Der herkömmliche Ansatz, myClass2.launch("") zum Starten von myClass2 aus myClass1 zu verwenden, führt wie beim Starten zu einem Fehler Soll einmal beim Start einer Anwendung aufgerufen werden.

Um dieses Problem zu lösen, besteht ein geeigneterer Ansatz darin, das Design umzugestalten, indem für jedes Modul separate Klassen erstellt werden, anstatt die Anwendungsklasse zu erweitern. Diese Klassen können nach Bedarf instanziiert und verwaltet werden.

Refactoring des Anwendungsdesigns

Erstellen Sie reguläre Klassen wie FirstModule und SecondModule, um die Funktionalität jeder eigenständigen Anwendung zu kapseln .

public class FirstModule {
    private BorderPane view;

    public FirstModule() {
        // Create and configure the view
    }

    public Parent getView() {
        return view;
    }
}

Instanziierung und Verwaltung Module

Module können direkt in der Hauptanwendung instanziiert und verwaltet werden.

FirstModule firstModule = new FirstModule();
Scene scene = new Scene(firstModule.getView());
Stage stage = new Stage();
stage.setScene(scene);
stage.show();

Eigenständige Anwendungen erstellen

Für Module, die benötigt werden Um als eigenständige Anwendungen ausgeführt zu werden, können separate Anwendungsunterklassen vorhanden sein erstellt.

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

Module in eine Verbundanwendung integrieren

Module können auch in eine größere Verbundanwendung integriert werden.

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();
    }
}

Dies Der Ansatz ermöglicht es Ihnen, mehrere eigenständige Anwendungen innerhalb desselben Pakets zu haben und diese nahtlos aus anderen Modulen oder Anwendungen heraus zu starten.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere eigenständige Java-Anwendungen innerhalb desselben Pakets starten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn