2012-05-13 45 views
13

Estoy tratando de cambiar el ícono predeterminado de java que aparece en la barra de tareas cada vez que ejecuto mi programa .jar. Logré cambiarlo con frame.setIconImage (img); pero esto hace que el icono sea demasiado pequeño, quiero que sea tan grande como los iconos de otros programas y que tenga una alta calidad. De cualquier manera que puedo hacer eso? Gracias.Modificando el ícono de la barra de tareas de mi programa .jar

+0

Supongo que la imagen que está usando tiene el tamaño correcto (el estándar para Windows 7 es 256x256). Simplemente marcando :) – kentcdodds

+0

Verifiqué el tamaño de la imagen y era 256x256 pero tenía áreas transparentes alrededor, así que ese era el problema. Pero sigue siendo un icono de mala calidad. Alguna idea para eso? –

+0

No estoy seguro de lo que quiere decir con 'icono de mala calidad'. ¿Es pequeño o está pixelado? Lo siento, nunca he hecho esto antes, así que estoy disparando a ciegas. – kentcdodds

Respuesta

19

Como sólo se suministra una única icono , A continuación, Windows escala ese icono a cualquier tamaño, sino que precisa de mostrarlo en la barra de tareas (podría ser de 16x16, 32x32 o de otros tamaños , dependiendo del escritorio ellas y el tamaño de la barra de tareas.

Si usted quiere tener un icono de "guapo" en la barra de tareas que tendrá que proporcionar una versión 32x32 píxeles del icono.

una vez que tiene que puede llamar al setIconImages(List) en lugar de setIconImage() para definir los iconos que sistema operativo e puede utilizar:

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

Dónde getImage() es un método devolver el icono de imagen adecuada. Básicamente, serían los mismos pasos que ya usaste para definir el icono actual.

También puede suministrar un icono de 64x64 y 24x24 con este método (solo agregue más íconos a la lista).

+0

Excelente. Muy simple de entender y funciona perfecto. ¡Gracias! –

+0

Leí en algún lado (ambiguo, lo sé, pero olvidé dónde) que el estándar es 256x256 (no estoy seguro por qué). Debido a que hay un método útil para entregarle una lista de imágenes, es posible que desee incluir una que sea más grande también. Solo un pensamiento :) – kentcdodds

3

Intenta mirar this example. Parece que es necesario utilizar frame.setIconImage(Toolkit.getDefaultToolkit().getImage("your_image.gif")); línea

Cuestiones relacionadas