2012-05-13 9 views
13

Ich versuche, das Standard-Java-Symbol in der Taskleiste zu ändern, wenn ich mein .jar-Programm starte. Ich habe es mit frame.setIconImage (img); aber das macht Icon viel zu klein, ich will es so groß wie andere Programme Icons und eine hohe Qualität haben. Kann ich das irgendwie machen? Vielen Dank.Ändern des Taskleistensymbols für mein .jar-Programm

+0

Ich nehme an, dass das Bild, das Sie verwenden, die richtige Größe hat (Standard für Windows 7 ist 256x256). Just checking :) – kentcdodds

+0

Ich überprüfte die Größe des Bildes und es war 256x256 aber es hatte transparente Bereiche um es herum, so dass das Problem war. Aber es ist immer noch eine ziemlich schlechte Qualitätsikone. Irgendwelche Ideen dafür? –

+0

Nicht sicher, was Sie mit 'Symbol der schlechten Qualität' meinen. Ist es klein oder pixelig? Tut mir leid, ich habe das noch nie gemacht, also schieße ich blind. – kentcdodds

Antwort

19

verwenden, da Sie nur ein einziges Symbol geliefert, Windows wird dann Skala, die auf dem Icon, was Größe es es in der Taskleiste muss die Anzeige (könnte 16x16, 32x32 oder andere Größen sein , auf dem Desktop sie und die Größe der Taskleiste ab.

Wenn Sie ein „gut aussehen“ Symbol in der Taskleiste haben möchten, müssen Sie eine 32x32 Pixel Version Ihres Symbols liefern.

Sobald Sie haben Sie, dass Sie setIconImages(List) anstelle von setIconImage() anrufen können, um die Symbole zu definieren, die th e Betriebssystem verwenden:

List<Image> icons = new ArrayList<Image>(); 
icons.add(getImage("someImage16x16.gif")); 
icons.add(getImage("someImage32x32.gif")); 
window.setIconImages(icons); 

Wo getImage() ist eine Methode das richtige Image-Symbol zurück. Im Wesentlichen sind dies die Schritte, die Sie bereits zum Definieren des aktuellen Symbols verwendet haben.

Sie können auch ein 64x64- und 24x24-Symbol mit dieser Methode angeben (fügen Sie einfach weitere Symbole zur Liste hinzu).

+0

Ausgezeichnet. Sehr einfach zu verstehen und funktioniert perfekt. Vielen Dank! –

+0

Ich las irgendwo (mehrdeutig, ich weiß, aber ich habe vergessen wo), dass der Standard 256x256 ist (nicht ganz sicher warum). Da es eine praktische Methode gibt, um eine Liste von Bildern zu erstellen, möchten Sie vielleicht auch eine hinzufügen, die größer ist. Nur ein Gedanke :) – kentcdodds

3

Versuchen bei this example suchen. Es sieht aus wie Sie frame.setIconImage(Toolkit.getDefaultToolkit().getImage("your_image.gif")); Linie

Verwandte Themen