Vous êtes sur la page 1sur 14

Cambiar de aspecto aplicaciones Java

Por: Fermin Tene Normalmente las ventanas Java tienen su propio aspecto, su propio estilo de botones y dems. Java cuenta con 2 libreras para disear interfaces grficas (ventanas, botones, etiquetas, etc.), estas 2 libreras son: AWT y Swing. Las ventanas hechas con AWT conservan el tema del Sistema Operativo, sin embargo, las ventanas hechas con Swing son muy fciles de cambiar su aspecto (look and feel o skin) para que tengan aspecto java, aspecto windows, aspecto Linux, etc. Basta con tener la librera adecuada y unas lneas de cdigo. Las aplicaciones de Java son muy caractersticas por su capacidad de ser ejecutadas en diversos sistemas operativos sin la necesidad de modificar el cdigo o de incluir algn otro tipo de libreras externas, ya que lo nico que se necesita es tener instalada la apropiada maquina virtual de Java en dicho sistema donde desea ejecutarse.

"Netbeans 6 y aplicaciones Java con apariencia Metal, corriendo en tres diferentes sistemas operativos: Debian GNU Linux con Compiz/Emerald, Windows Vista y Mac OS. (Clic para agrandar)" La ventaja de este tema es que luce igual en todos los sistemas operativos donde se ejecute y, segn he ledo, lo disearon de esta forma para no ocupar tantos recursos de la PC en la interfaz, la desventaja es que no se integra con la apariencia que posea el sistema operativo. Como se puede comprobar en la imagen anterior, esta interfaz no combina con ninguna de las apariencias de los tres principales sistemas operativos en los que se prob, GNU/Linux, Windows Vista y Mac OS. La ventaja de Swing es que nos permite cambiar esta interfaz por defecto y aplicarles a nuestras aplicaciones, primeramente, el tema especifico de un sistema operativo especifico, de manera que se integre a el y ademas, poder aplicarle libreras definidas por terceras personas, y ademas, su forma de implementacin nada mas consiste en agregar una librera y un par de lineas a nuestro cdigo. Entre las libreras que cambian la apariencia (tambin llamado Look and Feel) de nuestras aplicaciones Java, son: Substance: URL: https://substance.dev.java.net/ Nombre: org.jvnet.substance.skin.SubstanceOfficeSilver2007LookAndFeel Descripcin: Posee varios temas con diferentes formas y combinaciones de colores. Permite cambiar tambin el borde de la ventana.

"Apariencia de una Aplicacin Java con Look & Feel Substance" Nimbus: URL: https://nimbus.dev.java.net/ Nombre: org.jdesktop.swingx.plaf.nimbus.NimbusLookAndFeel Descripcin: Apariencia con esquinas redondeadas y relieves. No cambia el borde de la ventana. Colores suaves. No posee temas adicionales.

"Apariencia de una Aplicacin Java con Look & Feel Nimbus" Quaqua URL: https://quaqua.dev.java.net/ Nombre: ch.randelshofer.quaqua.QuaquaLookAndFeel Descripcin: Apariencia al estilo Mac OS. nico tema incluido y si adapta el borde de la ventana al tema aunque no aplica las esquinas redondeadas en todos los sistemas operativos donde es ejecutado.

"Apariencia de una Aplicacin Java con Look & Feel Quaqua" Nimrod URL: http://personales.ya.com/nimrod/index-en.html Nombre: com.nilo.plaf.nimrod.NimRODLookAndFeel Descripcin: Unico tema pero las combinaciones de colores y transparencias son configurables. No modifica el borde de la ventana.

"Apariencia de una Aplicacion Java con Look & Feel Nimrod" Para aplicar cualquiera de estos temas a nuestras aplicaciones, simplemente hay que descargar el .jar del Look & Feel que deseamos y ubicarlo en la carpeta de nuestro proyecto para despus agregarlo a la librera del mismo. Luego, en el constructor de cada una de las clases que componen la vista de cada FrameView o JFrame agregar las siguiente lineas: JFrame.setDefaultLookAndFeelDecorated(true); UIManager.setLookAndFeel("NombreDelLook&Feel"); Por supuesto, estos Look & Feel tienen su coste en cuanto a rendimiento de la aplicacin pero considero que valen la pena ya que la apariencia de nuestra aplicacion define en parte su usabilidad.

Poner Look and Feel del sistema operativo Para obtener el aspecto de ventanas propio del sistema operativo en el que estemos (XP, Ubuntu, Mac OS, etc.), antes de crear cualquier ventana ejecuta: import javax.swing.*; ... try { JFrame.setDefaultLookAndFeelDecorated(true); JDialog.setDefaultLookAndFeelDecorated(true); UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClass 7 Name()); 8 } 9 catch (Exception e) 10 { 11 e.printStackTrace(); 12 } 13 ... Con UIManager.getSystemLookAndFeelClassName() obtenemos el nombre del Look and Feel por defecto del sistema operativo en el que estemos. Con UIManager.setLookAndFeel decimos qu Look and Feel queremos usar. 1 2 3 4 5 6

Poner otro Look and Feel disponible


JRE instala algunos look and feel a parte del propio y el de el Sistema Operativo, los cuales puede ser usados. Se utiliza el mismo cdigo anterior excepto que en vez de usar UIManager.getSystemLookAndFeelClassName() ponemos un String con la ubicacin de la librera de Look and Feel que queremos usar.

Metal Look and Feel

Este es el tema predeterminado de Java, esta disponible para todos los Sistemas Operativos. Para pode usarlo hacemos: 1 UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFee l");

Ninbus Look and Feel

Este es el tema fue agregado por Java recientemente, esta disponible tambin para todos los Sistemas Operativos pero a partir de la versin 1.5 de Java. Para pode usarlo hacemos: 1 UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusL ookAndFeel");

Windows Look and Feel

Este es el tema nativo de Windows, tomar la apariencia del estilo actual de Windows (en XP normalmente el tema es Luna y en Seven y Vista es Aero, pero si se tiene otro tambin lo puede usar), esta disponible solo para el sistema Windows. Para pode usarlo hacemos: UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.Window sLookAndFeel"); Tambin existe el tema clsico de Windows (Win95 y Win98), para pode usarlo hacemos: 1 1 UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.Window sClassicLookAndFeel");

GTK Look and Feel

Este es el tema nativo de algunas distribuciones Linux, esta disponible tambin para todos los Sistemas Operativos Linux los cuales soporten GTK (normalmente los que usan GNOME como Ubuntu). Para pode usarlo hacemos: 1 UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAnd Feel");

Aqua Look and Feel

Este es el tema nativo de Mac OS X, esta disponible para todos los Sistemas Operativos Mac OS X. Para pode usarlo hacemos: Para Mac OS X 1 UIManager.setLookAndFeel("com.apple.laf.AquaLookAndFeel"); o esta otra para Mac OS 1 UIManager.setLookAndFeel("com.sun.java.swing.plaf.mac.MacLookAnd Feel");

Motif Look and Feel

Este es el tema es el ms antiguo de Java, esta disponible para todos los Sistemas Operativos. (tambin es el ms feo ) Para pode usarlo hacemos: 1 UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLoo kAndFeel");

Obtener la lista de los Look and Feel disponibles en mi Sistema Operativo


Podemos usar el siguiente cdigo para obtener una lista con los Look and Feel disponibles: 1 2 3 4 5 6 7 import javax.swing.UIManager.*; ... LookAndFeelInfo[] lista = UIManager.getInstalledLookAndFeels(); for (int i = 0; i < lista.length; i++) { System.out.println(lista[i].getClassName()); } ...

Substance Java look & feel

Substance Java es un proyecto enfocado en la apariencia visual de las GUI (Interfaces Graficas de Usuario) para Java. Esta libreria permite agregar una apariencia mas agradable al usuario final y disponde de varios skin ya predefinidos en el JAR, como tambien el autor tambien deja disponible las fuentes de la libreria, asi tambien documentacion de su uso (en ingles). INSTALACION Paso 1. Ingresa a la pagina de Substance y dirigete a la seccion de GET LATEST VERSION. Una vez ahi,te muestra una lista con las descargas disponibles, en primer lugar se encuentra la documentacion y codigo fuente de la libreria, si deseas puedes bajarte ese paquete para echar un ojo de como funciona la libreria. El paquete necesario para la utilizacion de la libreria es "Substance 5.3 Library", se encuentra en segundo lugar, esta es la libreria completa, las restantes son versiones Lite.

Paso 2. Una ves que te descargaste el paquete, se debe proceder a su instalacion. Colocamos el paquete "Substance.jar" en el disco duro, por ejemplo:

Esta ubicacion no es una regla, puedes colocarla donde quieras, ademas de que yo me baje tambien el paquete Substance-All para cureosear un poco el codigo. Paso 3. Abre Netbeans y dirigete al menu TOOLS - LIBRARIES, una ves abierta la ventana "Library Manager", presiona el boton New Library, entonces colocas un nombre a la libreria, "substance" y OK

Paso 4. Una ves creada la libreria, procedemos a agregar el archivo JAR. para ello situate en la pestaa "Classpath" y presiona el botn "Add Jar/Folder", busca el archivo substance.jar en tu pc y OK

Ya esta instalada la libreria Substance Primer programa con Substance. 1. Crea un nuevo proyecto en netbeans, dale el nombre que quieras, luego aade un JFrame y coloca los controles que gustes

3. Aade la libreria al projecto

2. en el Main del proyecto, aade este codigo:


public static void main(String[] args) { EventQueue.invokeLater(new Runnable(){ public void run(){ try{ JFrame.setDefaultLookAndFeelDecorated(true); SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.DustCoffeeSkin"); } catch(Exception e){ } //donde skinform, es el nombre del JFrame donde se aplicara el skin new skinform().setVisible(true); } }); }

Algunos skin disponibles: :

Vous aimerez peut-être aussi