Mostrando entradas con la etiqueta JFrame. Mostrar todas las entradas
Mostrando entradas con la etiqueta JFrame. Mostrar todas las entradas

jueves, 10 de diciembre de 2009

Cambiar ícono -del cafecito- a un JFrame

En realidad casi siempre, los clientes, buscan hasta los ultimos detalles.
Observación:Aveces clientes->Docentes->nota.(Caso Universitario).
En este caso quería cambiar el ícono de los frames de mi proyecto Java para Escritorio.
Comencemos , gracias al blog de Diego Silva en Apuntes de Java:
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



Gracias Diego me aumentastes la nota :)