JFrame Icon problem

Status
Nicht offen für weitere Antworten.

xKrinklex

Mitglied
Hallo,
bei meinem JFrame funzt die setIconImage methode irgndwe nicht richtig.

hier erstmal der Code:

Code:
public MainFrame() {
	super("blablabla");
	this.setSize(1000,800);
	this.setLocation(100,100);		
	this.setDefaultCloseOperation(EXIT_ON_CLOSE);
	initGUI();
	myInit();		
	try {
		this.iconURL = getClass().getResource("images/logo.gif");
        if (this.iconURL != null)
        {
          setIconImage(Toolkit.getDefaultToolkit().createImage(this.iconURL));
        }
	}
	catch (Exception ex) {
		ex.printStackTrace();
	}
	this.setVisible(true);
	}


eine exception bekomme ich nicht angegeben, die iconURL bleibt einfach null, daher ist das standard logo von Java zu sehen.
Habe natürlich auch schon im Forum gesucht und gegooglet wie ein Bessenener aber das half alles nichts, die Probleme waren alle anderer Natur bzw halfen die Lösungsvorschläge einfach nicht. erstaunlicherweise funktioniert der oben gepostete code wenn ich das kurz in einem test project ausprobiere. ich nehme also an dass es ein sourcen problem gibt, allerdings wird bei beiden die gleich e Version (1.5.) verwendet....

habe auch schon gehört dass es mal so einen Bug gab, der soll nur glaube ich schon behoben worden sein und außerdem in Zusammenhang mit der setResizable(boolean) methode stehen, das half aber auch nüscht.

mehr weiß ich dazu erstmal nicht zu sagen

danke für irgendwelche tipps 🙂
 
wenn das URL object null bleibt, konnte java den angegebenen pfad nicht auflösen... sprich er existiert nicht.
prüf' mal deine ordner/package strukturen.

ich erstelle meine URL's meistens so, wenn es darum geht, bilder zu laden, welche sich in der packagestruktur befinden.
Code:
URL url = this.getClass().getResource("/com/domain/meineapp/gui/images/icon.gif");
 
ok nach deinem tipp und noch etwas mehr rumprobiererei klappt es nun so:

Code:
this.iconURL = getClass().getClassLoader().getResource("images/logo.gif");


entscheidend war wohl das getClassLoader()



danke nochmal..
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben