Lorsque j'ai créé un outil GUI à l'aide de Swing, le fichier image était correctement affiché lors de son exécution sur IntelliJ, mais j'ai rencontré le problème que le fichier image ne pouvait pas être affiché correctement lorsqu'il était sorti sous forme de fichier jar. Lorsque j'ai cherché sur Google, cela semblait être un phénomène bien connu et une solution est apparue immédiatement. Ce qui suit est un résumé des solutions dans mes propres notes.
Pour pratiquer Swing, la boîte à outils GUI de Java, j'ai créé un programme simple qui n'affichait qu'une icône de sablier.
Comme ça
L'icône est nommée fichier hourglass.png et enregistrée directement dans le dossier src. De plus, la lecture du fichier icône est décrite comme suit.
ImageIcon myIcon = new ImageIcon("hourglass.png ");
L'exécution de ce code sur IntelliJ exécutera le programme avec l'icône de sablier correctement affichée. Cependant, lorsque j'exécute le fichier jar et exécute le programme depuis le terminal, l'icône ne peut pas être affichée comme indiqué ci-dessous.
En Java, ClassLoader.getResource () est préparé comme un processus pour acquérir des informations sur les ressources telles que des fichiers.
Dans le code précédent, ʻImageIcon myIcon = new ImageIcon ("hourglass.png "); `
ClassLoader cl = this.getClass().getClassLoader();
ImageIcon myIcon = new ImageIcon(cl.getResource("hourglass.png "));
En réécrivant en tant que, même après la sortie sous forme de fichier jar, la ressource image sera correctement référencée, de sorte que l'image sera affichée.
je l'ai fait
https://virtualwalk.hatenadiary.org/entry/20121013/1350127275 http://hiesuke.hatenablog.com/entry/2016/12/30/101639
Recommended Posts