Cambiar ícono a un JFrame
Un visitante de mi blog me pidió que le dijera cómo cambiar el ícono de los JFrame. Pero como este tip puede ser útil para toda la comunidad, decidí escribirlo aquí en mi blog.
Paso 1
El ícono debe ser una imagen de extensión PNG. Esto se hace más fácil, ya que conseguir una figura y convertirlo en formato .ico es muy complicado. Los PNG nos ayudan bastante.
Paso 2
La imagen que será el ícono debe estar dentro del paquete de fuentes, como si fuera una clase más. Si estuviera dentro de un paquete, sería mucho mejor.
Paso 3
En el código del JFrame que vamos a poner el ícono, sobreescribimos el método getIconImage() conteniendo el siguiente código: (notar cómo se está llamando a la imagen .png)
Paso 4
En la vista de diseño del JFrame, lo seleccionamos y vamos sus propiedades, buscamos la propiedad "iconImagen" y hacemos clic en el botón de puntos suspensivos. Se mostrará una ventana de diálogo como esta:
De la lista desplegable, seleccionamos "Valor de componente existente". Esto hará que cambie la ventana a la siguiente forma:
Seleccionamos la opción "Propiedad" y hacemos clic en el botón de puntos suspendidos. Aparecerá una ventana de diálogo más pequeña, y seleccionamos la propiedad "iconImage" que aparece ahí.
Clic en Aceptar, y se verá así:
y nuevamente clic en "Aceptar" para cerrar la ventana de selección de imagen.
Ahora, veremos que las propiedades del JFrame ya tiene un nuevo valor
Paso 5
Ejecutamos la aplicación con el JFrame, y voila! nuestro JFrame con un ícono diferente
Paso 1
El ícono debe ser una imagen de extensión PNG. Esto se hace más fácil, ya que conseguir una figura y convertirlo en formato .ico es muy complicado. Los PNG nos ayudan bastante.
Paso 2
La imagen que será el ícono debe estar dentro del paquete de fuentes, como si fuera una clase más. Si estuviera dentro de un paquete, sería mucho mejor.
Paso 3
En el código del JFrame que vamos a poner el ícono, sobreescribimos el método getIconImage() conteniendo el siguiente código: (notar cómo se está llamando a la imagen .png)
@Override
public Image getIconImage() {
Image retValue = Toolkit.getDefaultToolkit().
getImage(ClassLoader.getSystemResource("resources/icono.png"));
return retValue;
}
Paso 4
En la vista de diseño del JFrame, lo seleccionamos y vamos sus propiedades, buscamos la propiedad "iconImagen" y hacemos clic en el botón de puntos suspensivos. Se mostrará una ventana de diálogo como esta:
De la lista desplegable, seleccionamos "Valor de componente existente". Esto hará que cambie la ventana a la siguiente forma:
Seleccionamos la opción "Propiedad" y hacemos clic en el botón de puntos suspendidos. Aparecerá una ventana de diálogo más pequeña, y seleccionamos la propiedad "iconImage" que aparece ahí.
Clic en Aceptar, y se verá así:
y nuevamente clic en "Aceptar" para cerrar la ventana de selección de imagen.
Ahora, veremos que las propiedades del JFrame ya tiene un nuevo valor
Paso 5
Ejecutamos la aplicación con el JFrame, y voila! nuestro JFrame con un ícono diferente
oh yeah! lo que buscaba xD...
ردحذفprivate void inicializar() {
ردحذفImageIcon icono = new ImageIcon("src/interfaces/ico.png");
this.setIconImage(icono.getImage());
}
Muy Bueno Brother!
حذفMe sirvió, Gracias!!!
Muchas Gracias por tu aporte.. me a servido de mucho :D saludos..
ردحذفgracias... si funciona
ردحذفel tutorial al parecer esta hecho para NetBeans y ps yo estoy en JDeveloper (Aparte de que nunca uso la vista de diseño) y no funciono, pero el comentario de Daniel tiene una respuesta mucho mas sencilla y general que sirve a la perfeccion
ردحذفImageIcon icono = new ImageIcon("src/interfaces/ico.png");
this.setIconImage(icono.getImage());
Grandioso, me gusto la ingeniosa solución, era lo que estaba buscando desde hace ya un buen de rato, gracias...
ردحذفGracias por el aporte <3
ردحذف