Maison >Java >javaDidacticiel >Comment puis-je redémarrer une application Java AWT ?

Comment puis-je redémarrer une application Java AWT ?

DDD
DDDoriginal
2024-11-08 01:30:021047parcourir

How Can I Restart a Java AWT Application?

Redémarrer une application Java AWT

En Java, comme en C#, il est possible de redémarrer une application. Lorsqu'un gestionnaire d'événements est attaché à un bouton, la méthode suivante peut être utilisée pour redémarrer l'application :

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

  /* is it a jar file? */
  if(!currentJar.getName().endsWith(".jar"))
    return;

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

  final ProcessBuilder builder = new ProcessBuilder(command);
  builder.start();
  System.exit(0);
}

Cette méthode localise l'exécutable Java, trouve l'application (un fichier jar dans ce cas), construit une commande pour redémarrer le pot, puis l'exécute. Ce processus termine l'application en cours et la redémarre, la redémarrant effectivement.

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