JFrame Icon setzen?

chriss_2oo4

Erfahrenes Mitglied
Hi,

ich möchte gerne dass auf der linken oberen Seite meines JFrames nicht das Standard-Java-Icon angezeigt wird. Dazu bin ich wie gefolgt vorgegangen:

ImageIcon imageIcon = new ImageIcon("ico.gif");
this.setIconImage(imageIcon.getImage());


ico.gif liegt im gleichen Verzeichnis wie die .java Datei und hat eine Aufllösung von 16x16 Pixeln, des Weiteren ist eine Transparenz-Farbe hinterlget.

Woran kann es liegen, dass mit den o. g. Codeauszügen immer noch das standardmäßige Icon angezeigt wird?

Lg Chriss
 

zeja

Erfahrenes Mitglied
So wie du es aufrufst wird versucht ico.gif im Ausführungsverzeichnis deines Programms zu finden.

Willst du es da liegen lassen wo es ist, so mache folgendes:
Java:
URL url = DeineKlasse.class.getResource("ico.gif");
ImageIcon icon = new ImageIcon(url);

Beachte allerdings dass es so nur funktioniert wenn das ico.gif auch bei den kompilierten class Dateien genauso dabei liegt.
 

chriss_2oo4

Erfahrenes Mitglied
Hab ich auch schon probiert, folgender Code führt dazu, dass nur noch ein Frame mit minimaler Größe angezeigt wird:

ImageIcon icon = new ImageIcon(MeineKlasse.class.getResource("ico.gif"));
this.setIcon(icon);


Fehlermeldung:

java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)


Lg Chriss
 

zeja

Erfahrenes Mitglied
Ja ich sage ja: Überprüf bitte ob bei deinen class-Dateien das Icon auch liegt. Ansonsten funktioniert das ganze nicht. Aus diesem Grund auch die Rückgabe von getResource erst auf null prüfen und erst dann verwenden.
 

joshi1999

Grünschnabel
Und ich seh grad das mit "MeineKlasse.class.getResource("ico.gif")" schon in den pfad der klase gewechselt wurde :oops:
 

Neue Beiträge