Frage:
Wie kann ich eine Java-AWT-Anwendung neu starten, die von einem angehängten Event-Handler initiiert wurde? auf eine Schaltfläche, die die Funktionalität von Application.Restart() in C# repliziert?
Antwort:
Ja, es ist möglich, eine Java-Anwendung neu zu starten. Hier ist eine Lösung:
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); }
Diese Methode funktioniert wie folgt:
Das obige ist der detaillierte Inhalt vonWie starte ich eine Java AWT-Anwendung wie C# Application.Restart() neu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!