Maison > Java > javaDidacticiel > Comment redémarrer une application Java AWT comme C# Application.Restart() ?

Comment redémarrer une application Java AWT comme C# Application.Restart() ?

Linda Hamilton
Libérer: 2024-11-07 08:32:03
original
908 Les gens l'ont consulté

How to Restart a Java AWT Application like C# Application.Restart()?

Redémarrage d'une application Java

Question :

Comment puis-je redémarrer une application Java AWT initiée par un gestionnaire d'événements attaché à un bouton, répliquant la fonctionnalité de Application.Restart() en C# ?

Réponse :

Oui, il est possible de redémarrer une application Java. Voici une solution :

public void restartApplication() {
    String javaBin = System.getProperty("java.home") + File.separator + "bin" + File.separator + "java";
    File currentJar = new File(MyClassInTheJar.class.getProtectionDomain().getCodeSource().getLocation().toURI());

    // Check if it's a jar file
    if (!currentJar.getName().endsWith(".jar")) {
        return;
    }

    // Build command: java -jar application.jar
    ArrayList<String> command = new ArrayList<>();
    command.add(javaBin);
    command.add("-jar");
    command.add(currentJar.getPath());

    ProcessBuilder builder = new ProcessBuilder(command);
    builder.start();
    System.exit(0);
}
Copier après la connexion

Cette méthode fonctionne comme suit :

  1. Localiser l'exécutable Java : Elle récupère l'exécutable java (dans ce cas, le binaire java ).
  2. Identifier l'application : Il identifie l'application, supposée être un fichier jar dans cet exemple, à l'aide de la classe fournie.
  3. Commande de redémarrage de construction : Il assemble une commande pour redémarrer le pot à l'aide du binaire Java.
  4. Exécuter la commande : La commande est exécutée, mettant fin à l'application en cours et la redémarrant.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal