JFrame Icon unter Linux/Ubuntu

timberhardt

Mitglied
Hallo, 🙂
ich hab da ein kleines Problem auf das ich gestoßen bin.

Wenn ich das IconImage für mein JFrame setze funktioniert unter Windows alles wunderbar.
Auf meinem Netbook, auf dem Linux/Ubuntu läuft, jedoch nicht.
Dort wird das JDK Standard Icon für das JFrame verwendet + mein JFrame Title wird auch nicht mehr
erkannt. Ubuntu hat ja jetzt in der neueren Version die Titelleiste am oberen Fensterrand (wie bei Mac OS X) und dort steht eben auch nur der JDK Standard JFrame Text .. nicht der, den ich gesetzt habe.
In der Fenstertitelleiste steht der jedoch..

Also, um die Frage einmal zusammenzufassen:
Wie setze ich das JFrame Icon bzw. den Fenstertitel in Java richtig, sodass es auf Windows / Linux / Mac OS X funktioniert?

Danke für eure Hilfe! 🙂

PS. Das ist mein bisheriger Code, um das Icon zu setzen. (Direkt im Konstruktur der Main-Klasse, die von JFrame erbt)

PPS. Das Bild ist 128 x 128 Pixel. Falls das wichtig sein könnte .. 😉

Java:
setIconImage(new ImageIcon(getClass().getResource("/com/timberhardt/remake/pong/graphics/logo.png")).getImage());
 
Zuletzt bearbeitet:
Kann mir keiner helfen oder will mir keiner helfen? ;(
Ich will ja jetzt nicht spammen, aber auch nicht, dass meine Frage einfach so vom Forum geschluckt wird..

Ich hoffe jemand hilft mir..
 
Hmm. Hast du daran gedacht dass unter Linux/Ubuntu eine Pfadangabe nicht durch / sondern durch \ getrennt werden? Allerdings sollte dir das sowieso eine Exception um die Ohren werfen, falls du das nicht beachtet hast 😀

Setz mal vorher:
Java:
setDefaultLookAndFeelDecorated(true);
Bringt das was?
 
Bei meinen Suchen habe ich für Ubuntu keine "eingebaute" Lösung gefunden.
hier wird beschrieben wie man es mit einer externen Library machen kann. Ich glaube aber er hat in seinem Beispiel kein Icon gesetzt; Lässt sich also nicht sagen wie sich das mit einem Icon verhält. Das Menu des JFrames wird allerdings in die Ubuntu Menu Bar geschoben.


Für MacOSX scheint es mit Bordmitteln zu gehen:
Hier ist es beschrieben mit Code Beispiel. Um ein Icon im Dock angezeigt zu bekommen kann man, glaube ich, ein Bundle bauen. Dann bekommt man ein Anwendung.app und da lässt sich ein Icon hinterlegen.

Ich habe beides allerdings nicht selbst probiert. Das sind nur die Ergebnisse meiner (zugegeben sehr schnellen) Websuche.
 
Wenn der Pfad bzw. die Datei nicht existieren würde, würde getResource null zurückgeben. Und auf null kannst du natürlich .getImage() abfragen. Da wär dann eine Exception geflogen! 😉
 
Also, ich benutze Kubuntu und habe jahrelang Ubuntu benutzt.
this.setIconImage(new ImageIcon(this.getClass().getResource("")).getImage()); funktioniert immer ast-rein.

Sent from my GT-I9505 using Tapatalk
 
@Beatsleigher Hmm.. bei mir geht das nicht. Es funktioniert zwar, wenn ich es direkt in Eclipse ausführe, wenn ich allerdings das Projekt als .jar exportiere dann wird das Icon nicht mehr angezeigt. Ebenso der TitleText.
 

Zurück
Oben