Program vindue ikon i jar?
Jeg har lavet en .jar fil, på følgende måde:jar cvfm ssplayer2.jar manifest.txt *.class *.gif
Der er i alt fire .gif filer, hvor tre af dem er til knapper, og den sidste er til program vinduet, oppe i højre hjørne.
Normalt bliver ikonet oppe i hjørnet vist, men ikke når jeg kører .jar filen. Det er kun hvis .gif filen ligger i samme mappe som .jar filen, at det bliver vist... hvorfor??
I programmet er følgende kode til frame ikonet:
frame.setIconImage(new ImageIcon("icon.gif").getImage());
hvilket ikke virker gennem .jar filen.
Til knap ikonet, er følgende kode:
openButton = new JButton("Open File...",
createImageIcon("open.gif"));
Hvor createImageIcon er en metoden:
protected static ImageIcon createImageIcon(String path)
{
java.net.URL imgURL = GUI.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
Hvilket virker fint nok. Jeg har prøvet at bruge denne metode til at lave frame ikonet, men det vil ikke komplilere :-(
Hvordan løses dette??
