Maison >Java >javaDidacticiel >Comment puis-je démarrer plusieurs applications Java autonomes dans le même package ?

Comment puis-je démarrer plusieurs applications Java autonomes dans le même package ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-03 06:58:09665parcourir

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

Démarrage d'applications autonomes dans le même package en Java

Le démarrage d'applications autonomes à partir d'une application parent peut être une exigence courante dans divers scénarios. Cependant, cela pose un défi lorsque les applications autonomes font toutes partie du même package.

L'approche traditionnelle consistant à utiliser myClass2.launch("") pour lancer myClass2 à partir de myClass1 entraînera une erreur, car le lancement est destiné à être appelé une fois au début d'une application.

Pour surmonter ce problème, une approche plus appropriée consiste à refactoriser la conception en créant des classes distinctes pour chaque module, plutôt que d'étendre la classe Application. Ces classes peuvent être instanciées et gérées selon les besoins.

Refactoring de la conception de l'application

Créez des classes régulières, telles que FirstModule et SecondModule, pour encapsuler les fonctionnalités de chaque application autonome. .

public class FirstModule {
    private BorderPane view;

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

    public Parent getView() {
        return view;
    }
}

Instanciation et gestion Modules

Les modules peuvent être instanciés et gérés directement dans l'application principale.

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

Création d'applications autonomes

Pour les modules qui nécessitent pour s'exécuter en tant qu'applications autonomes, des sous-classes d'application distinctes peuvent être créé.

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

Intégration de modules dans une application composite

Les modules peuvent également être intégrés dans une application composite plus grande.

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

Ceci Cette approche vous permet d'avoir plusieurs applications autonomes dans le même package et de les démarrer de manière transparente à partir d'autres modules ou applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn