martes, 24 de agosto de 2010

Manejo del aspecto y comportamiento (LookAndFeel)

Existen 3 tipos de aspectos o apariencias (look and feel) proporcionados gratuitamente junto al JDK.

Apariencia Metal. Es la apariencia típica de Java, independiente de la plataforma, o multiplataforma . La clase que contiene la información de este look and feel es:

javax.swing.plaf.metal.MetalLookAndFeel

Para establecer el aspecto de multiplataforma de java, llamado aspecto Metal:


UIManager.setLookAndFeel(javax.swing.plaf.metal.MetalLookAndFeel);



Apariencia Motif. Es la apariencia para plataformas Unix (por ejemplo, para el sistema operativo Linux). La clase que contiene la información de este look an feel es:


Para establecer el aspecto de plataformas Unix, llamado Motif:

com.sun.java.swing.plaf.motif.MotifLookAndFeel 



Apariencia Windows. Es la apariencia para plataformas Windows. La clase correspondiente es:

Para establecer el aspecto de la plataforma windows, será así:
com.sun.java.swing.plaf.windows.WindowsLookAndFeel 



Tambien es posible establecer el aspecto multiplataforma y el aspecto de la plataforma en la que se ejecuta la aplicación Java, usando métodos específicos que obtienen las clases adecuadas para pasárselas como parámetros al método setLookAndFeel() :

UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());

El metodo getCrossPlataformLookAndFeelClassName() devuelve el nombre de la clase que implementa el aspecto multiplataforma por defecto, el aspecto Metal (o Java Look and Feel).

Con este metodo:

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
 
Establecemos el aspecto que queremos. En este caso, el método setLookAndFeel() recibe como parámetro un nombre de clase, que es justamente el que 
devuelve el método que se le envía como argumento. Ese método es getSystemLookAndFeelClassName(),
 y el nombre de clase que devuelve es el de la correspondiente al look and feel del sistema en el que se está ejecutando la aplicación.

No hay comentarios:

Publicar un comentario