Look and Feel

El look and feel(Aspecto y comportamiento) es la forma en que los JComponent de swing (JLabel, JButton, JTextField, JTextArea, JCheckBox, JComboBox, etc) se muestran dentro de una interfaz de usuario.
Look and Feel cambia el fondo, el tipo de letra, bordes, colores y el aspecto en general de los componentes.
ES muy similar a hablar de Skin para nuestras ventanitas.
Podes visitar la página de Java sobre como usar el Look and Feel: Aquí.
El Java Development Kit (JDK) posee algunos temas por defecto, unos multiplataforma y otros propios del sistema operativo donde se utilice. Estos son unos temas predefinidos en el jdk:
  • Nombre: Metal
    • Clase: javax.swing.plaf.metal.MetalLookAndFeel
  • Nombre: Nimbus
    • Clase: javax.swing.plaf.nimbus.NimbusLookAndFeel
  • Nombre: CDE/Motif
    • Clase: com.sun.java.swing.plaf.motif.MotifLookAndFeel
  • Nombre: Windows
    • Clase: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
  • Nombre: Windows Classic
    • Clase: com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel
Para insertar un LookAndFeel, debemos poner su código inmediatamente después del "main" con un bloque try-catch.
  1. try{
  2.     UIManager.setLookAndFeel("ClaseLookAndFeel");
  3. } catch(Exception e){
  4.     System.out.println(e);
  5. }

Class UIManager

java.lang.Object
javax.swing.UIManager
Para saber hacemos uso de la clase UIManager y su método setLookAndFeel para configurar el L&F que aplicaremos.

Ejemplo

  1. import javax.swing.*;
  2. import java.awt.*;
  3. public class Motif {
  4.     public static void main(String[]args){
  5.         try{
  6.             UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
  7.         } catch(Exception e){
  8.             System.out.println(e);
  9.         }
  10.         JLabel etiqueta = new JLabel("Una Etiqueta cualquiera: ");
  11.         JTextField campo = new JTextField("Escribe aquí...", 15);        
  12.         JCheckBox chequeo = new JCheckBox("cheado", true);
  13.         String arreglo[] = {null,"Opciones","Opciones"};
  14.         JComboBox combo = new JComboBox(arreglo);
  15.         JButton aceptar = new JButton("Aceptar");
  16.         JButton cancelar = new JButton("Cancelar");
  17.        
  18.         JFrame marco = new JFrame("Look and Feel - Motif");
  19.         marco.setSize(350,170);
  20.         marco.setLocationRelativeTo(null);
  21.         marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  22.         marco.setVisible(true);
  23.         marco.setLayout(new GridLayout(3,1));
  24.         marco.add(etiqueta);marco.add(campo);
  25.         marco.add(chequeo);marco.add(combo);
  26.         marco.add(aceptar);marco.add(cancelar);
  27.     }
  28. }


Obtener Look and Feel soportados por el Sistema

El siguiente código nos muestra cuales son los L&F que nuestro sistema puede mostrar.
  1. import javax.swing.JFrame;
  2. import javax.swing.UIManager;
  3. public class Detect extends JFrame{
  4.     public Detect(){
  5.         UIManager.LookAndFeelInfo[] laf = UIManager.getInstalledLookAndFeels();
  6.         for(int i =0; i < laf.length; i++){
  7.             System.out.println("Nombre: " laf[i].getName());
  8.             System.out.println("Clase: " laf[i].getClassName());
  9.         }
  10.     }
  11.     public static void main(String[] args) {
  12.         Detect app = new Detect();
  13.     }
  14. }

Y ya simplemente tenemos que usar el nombre con la dirección completa para que el compilador pueda encontrarlo.

Descargar y Aplicar nuevos L&F

Utilizando el tio Google buscamos "download look and feel java", etc.
  • Desde la página de JTattoo en la parte de "download", podemos descargar el archivo ".jar"
  • Luego desde NetBeans, sobre la carpeta "library" hace un click derecho y en el sub-menu click sobre add JAR/Folder..
  • Si lo importamos correctamente tendremos:
  • Buscamos donde tengamos el archivo.jar y lo abrimos.
  • Desde la pagina de JTattoo vemos los screenshot que se pueden aplicar, para luego buscar estas clases.
  • AcrylLookAndFeel, AeroLookAndFeel , AluminiumLookAndFeel , BernsteinLookAndFeel ,FastLookAndFeel , HiFiLookAndFeel , McWinLookAndFeel , MintLookAndFeel , NoireLookAndFeel , SmartLookAndFeel , LunaLookAndFeel , TextureLookAndFeel

  • Generalmente la ruta de paquetes es:
    • com.jtattoo.plaf. ****.****LookAndFeel
    • Entonces nos arriesgamos a escribir: com.jtattoo.plaf.mint.MintLookAndFeel
De esta manera tendremos nuestros L&F instalados, desde luego hay mas pero el mecanismo es similar.

No hay comentarios:

Publicar un comentario