Hola, en esta ocasión y por cuestiones de tiempo quiero compartirles un tema de los rápidos y básicos, algo que no puedo dejar pasar cuando se trabaja con Interfaces Graficas de Usuario........ en este post veremos muy rápido el tema de los Look And Feel en java!!!
Las interfaces gráficas son algo fundamental cuando desarrollamos pensando en el usuario y en la experiencia que este pueda tener al manejar nuestra aplicación (Relacionado a la Usabilidad...) no vamos a profundizar en esto, tan solo veremos unas opciones que java nos provee para cambiar un poco el aspecto visual al que estamos acostumbrados.....la intención es brindar otras opciones tal vez mas llamativas........ veamos....
Que es?
Cuando hablamos de Look And Feel, estamos hablando de la apariencia de nuestra aplicación, como se van a presentar los diferentes componentes como botones, campos de texto, combos, pestañas, texto entre otros, buscando dar otras opciones visuales.......
El Ejemplo.
En esta entrada voy a tomar el ejemplo básico del post sobre JOptionPane y le vincularé Look And Feel para que podamos ver los diferentes temas que java nos provee....como vemos la imagen anterior corresponde a la misma ventana principal pero con estilos distintos....
La Aplicación...
Los estilos se pueden aplicar a cualquier aplicación, lo único necesario es adicionar las siguientes lineas de código en el método main...
try{ JFrame.setDefaultLookAndFeelDecorated(true); JDialog.setDefaultLookAndFeelDecorated(true); UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); //UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); //UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); //UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); } catch (Exception e) { e.printStackTrace(); }
En el código usamos unos métodos por defecto de java encargados de modificar la decoración de las ventanas, vemos que se invocan mediante las clases JFrame y JDialog, ya que estos son los 2 contenedores principales de Java Swing (si quieres saber mas sobre esto, te invito a visitar esta entrada).... el UIManager se encarga de definir cual es el estilo a utilizar....
(Para este ejemplo rápido, comentamos los otros estilos que java brinda, para una próxima entrada compartiré otro ejemplo donde veamos el cambio de forma dinámica.....por ahora si quieren ver los estilos deberán comentar uno y decomentar el que deseen.....)
Los Estilos...
Veamos los estilos que encontramos en el JDK, estas imagenes corresponden a la misma aplicación con el tema definido y vemos como se muestran las ventanas de dialogo y algunos componentes como combos, JTexField, botones etc.
NimbusLookAndFeel
Personalmente el nimbus es el que mas me gusta, brinda un estilo mas suavisado, redondeado y agradable a la vista.... para tenerlo usamos UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
MetalLookAndFeel
WindowsLookAndFeel
Este estilo es el mas conocido por los usuarios windows, si vemos la imagen donde están las ventanas principales, nos daremos cuenta que este tema es muy similar a las aplicaciones que no usan Look And Feel, tan solo cambian algunos detalles como el tamaño de sus botones y texto.... para tenerlo usamos UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
MotifLookAndFeel
(Para este ejemplo rápido, comentamos los otros estilos que java brinda, para una próxima entrada compartiré otro ejemplo donde veamos el cambio de forma dinámica.....por ahora si quieren ver los estilos deberán comentar uno y decomentar el que deseen.....)
Los Estilos...
Veamos los estilos que encontramos en el JDK, estas imagenes corresponden a la misma aplicación con el tema definido y vemos como se muestran las ventanas de dialogo y algunos componentes como combos, JTexField, botones etc.
NimbusLookAndFeel
Personalmente el nimbus es el que mas me gusta, brinda un estilo mas suavisado, redondeado y agradable a la vista.... para tenerlo usamos UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
MetalLookAndFeel
El metal provee un estilo mas colorido, le da un toque rustico y llamativo a las aplicaciones.... para tenerlo usamos UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
WindowsLookAndFeel
Este estilo es el mas conocido por los usuarios windows, si vemos la imagen donde están las ventanas principales, nos daremos cuenta que este tema es muy similar a las aplicaciones que no usan Look And Feel, tan solo cambian algunos detalles como el tamaño de sus botones y texto.... para tenerlo usamos UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
MotifLookAndFeel
Por ultimo tenemos el tema motif, este tema es mucho mas rustico que los anteriores pero con aspectos llamativos, similar a las primeras GUI de versiones iniciales del JDK..... para tenerlo usamos UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
Y Listo, esta entrada fue muy rápida y básica tan solo como introducción a este tema que todos deberíamos conocer........
También te podría Interesar.
¿Hay algo que quieras anexar o comentar sobre esta entrada? no dudes en hacerlo.....y si te gustó...... te invito a compartir y Suscribirte ingresando al botón "Participar en este sitio" para darte cuenta de mas entradas como esta ;)
Descarga.
Como es costumbre en el enlace de descarga se encuentra el archivo .rar con la aplicación, solo es cuestión de descomprimir y abrir con Eclipse y listo.......si usas NetBeans te interesará esta entrada con un vídeo paso a paso de como abrirlo en el......... recuerden que es gratis, nada cuesta opinar, compartir o agradecer :)
Como es costumbre en el enlace de descarga se encuentra el archivo .rar con la aplicación, solo es cuestión de descomprimir y abrir con Eclipse y listo.......si usas NetBeans te interesará esta entrada con un vídeo paso a paso de como abrirlo en el......... recuerden que es gratis, nada cuesta opinar, compartir o agradecer :)
También te podría Interesar.
- Que son las convenciones de Código en Java
- Como Importar Proyectos Eclipse en Netbeans
- Redimensionar imagen en Java
- Componentes de Texto.
- Componentes Atomicos Java Swing
- Componentes Java Swing
- Que es Java Swing?
- Instalación del servidor de aplicaciones JBoss
- Instalación Apache ANT
- Conceptos Básicos de Programación Orientada a Objetos.
¿Hay algo que quieras anexar o comentar sobre esta entrada? no dudes en hacerlo.....y si te gustó...... te invito a compartir y Suscribirte ingresando al botón "Participar en este sitio" para darte cuenta de mas entradas como esta ;)
Una herramienta muy potente a la hora de aplicar estilos, me cuesta creer que con tan solo unas lineas de codigo una aplicacion pueda adquirir una interfaz tan profesional... Gracias por el tiempo que dedicas a estos apuntes..
ResponderEliminarGracias por compartir :)
ResponderEliminarMuchas gracias por la información se nota que sabes bastante felicidades. Saludos.
ResponderEliminarMIL GRACIAS LLEVABA HORAS BUSCANDO!!!
ResponderEliminarHola, una consulta, se puede (crear) cambiar la interfaz (usando los look and feel) a la pulsacion de un boton, como en configuracion?, si sabes me puedes decir como seria el codigo
ResponderEliminargracias.
muchas gracias, buen codigo, llevaba buscando un buen rato y no paraba de ver cosas muy difusas y en 3 lineas de codigo lo has apañao, buen codigo, buena explicacion y otra vez gracias :D
ResponderEliminarsabeeeee, gracias por el dato
ResponderEliminargracias amigo por este magnífico aporte, lo recimiendo para aquellos que desean mejorar la interfaz gráfica de sus aplicaciones java.
ResponderEliminargracias funciona perfecto saludos
ResponderEliminarBuenas como puedo hacer funcionar el look and feel GTK+ en windows. Desde ya gracias y saludos.
ResponderEliminarGracias
ResponderEliminarMuy util la informacion que compartes.
Gracias por compartir, muy clara tu explicación
ResponderEliminarEl Look And Feel de windows se visualiza perfecto cuando ejecuto desde el IDE, sin embargo cuando exporto el .jar los menús y los showMessageDialog se ven en negrilla. Alguien sabe porque pasa esto ?
ResponderEliminar"Discover, explore, and optimize your hashtag game with our user-friendly platform! Elevate your social media presence effortlessly.#HashtagHeaven #BoostYourReach #SocialMediaSuccess"
ResponderEliminarvalentine hashtag