web-dev-qa-db-fra.com

Comment changer l'icône du fichier jar exécutable?

J'ai pu changer l'icône d'exécution à l'aide de cet exemple comme ceci

getFrame().setIconImage(Toolkit.getDefaultToolkit().getImage(getClass()
.getClassLoader().getResource("MyProject/resources/myIcon.png")));

mais est-il possible d'indiquer à NetBeans d'utiliser myIcon.png pour l'icône du fichier jar exécutable (MyProject/dist/MyProject.jar)?

19
jacknad

Un wrapper de lancement est la solution, j'utilise launch4j, un wrapper léger multiplateforme

Site web de launch4j

8
Gary Benade

Vous pouvez utiliser JSmooth pour créer un fichier Java exécutable et y associer une icône.

7
krupal

Non, il n'y en a pas, car l'icône est déterminée par Java. La seule façon de le faire (du moins pour Windows) consiste à utiliser un wrapper comme launch4j puis à définir le chemin de l'icône. Si vous avez déjà enveloppé exe avec une icône inexistante ou erronée, vous pouvez utiliser Recource Hacker , puis suivre les informations sur la modification de l'icône. Sinon, vous ne pouvez pas changer l'icône de .jar

3
Marko Zajc

Comme on le sait, il n’est pas possible de changer l’icône .jar. Si vous souhaitez le faire, vous devez modifier tous les fichiers .jar de votre système d’exploitation. De toute façon, une solution est possible. Vous pouvez créer un raccourci pour le fichier .jar, puis le modifier: bouton droit >> Propriétés >> Modifier l'icône. 

 enter image description here

p.s. Le fichier d’icône doit être un fichier .ico, vous pouvez donc utiliser de nombreux sites pour la conversion en extension .ico si votre image en a un autre.

Alternative 1: Vous pouvez aussi utiliser Launch4j, le moyen le plus simple de générer un fichier exécutable de l’application.

1
Marcello Marino

Une possibilité sur mac est d'utiliser cette ligne:

com.Apple.eawt.Application.getApplication().setDockIconImage( new ImageIcon(getClass().getResource( "resources/appIcon.png" )).getImage());

Il définit votre icône pour le quai. Je ne peux pas le tester pour le moment, je ne travaille pas sur un Mac, mais essayez-le et remettez-moi au courant.

1
SteamFire