1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| /*
* Classe: InstanceUnique
* Auteur: Chatbour
*/
import java.io.IOException;
import java.awt.Desktop;
import javax.swing.JOptionPane;
public class InstanceUnique {
// nom du fichier jar
private String nomJar = "application.jar";
// nom temporaire
private String nomTmp = "app_tmp.jar";
public InstanceUnique() {
try {
File leJar = new File(nomJar);
if(leJar.renameTo(new File(nomTmp)) == true) {
// On est le premier à instancier l'application
new File(nomTmp).renameTo(new File(nomJar));
Desktop.getDesktop().open(leJar);
}
else {
// Sinon afficher un message
JOptionPane.showMessageDialog(null, "L'application est déjà lancée !");
}
}
catch(IOException e) {
System.exit(-1);
}
}
public static void main(String[] args) {
new InstanceUnique();
}
} |
Partager