sábado, 29 de marzo de 2014

Los 5 Mejores LookAndFeel para Java

Para los que hemos desarrollado aplicaciones en java para escritorio, siempre nos hemos encontrado con la inquietud  de querer cambiar el aspecto de nuestra aplicacion y por ende usabamos imagenes,  texturas de fondo, pero el aspecto de las ventanas siempre eran la misma.

Quisas algunos han usado Metal, CDE/Motif, Windows Windows Classic, que son muy conocidos y que tambien viene por defecto con algunos IDE (yo uso JGrasp); la cuestion es que estos no son tan llamativos a la vista.
Por tal motivo quisiera compartir algunos LookAndFeel que considero son mejores y elegantes.

Al final voy a colgar un pequeo ejemplo, es un codigo que obtiene datos desde una BD en MySQL. Para hacer todas las pruebas de LookAndFeel solo tienes que remplazar  la clase Void main por la de este post.

NOTA: Algunos LookAndFeel  necesitan de algun archivo *.jar. Lo descargas y pegas en la carpeta donde se encuentra tu proyecto o en donde esta instalado tu Java JDK.(C:\ProgramFiles\Java\jdk1.7.0_06\jre\lib\ext).

Comencemos: Despues de pegar los archivos JAR, Lo nico que hay que modificar es la clase: Public static void main()...

  1. JTattoo LookAndFeel  http://www.jtattoo.net/

   //jtattoo
            public static void main(String args[]){        
               try{            
                    UIManager.setLookAndFeel("com.jtattoo.plaf.acryl.AcrylLookAndFeel");   
                    FrmANALISIS form=new FrmANALISIS();
                    form.setVisible(true);         
             }
             catch (Exception e) {
            }          
}

    2.  LiquidLookAndFeel  http://www.docjar.com/jar_detail/LiquidLnF.jar.html

        Aqui es necesario importar el paquete:  import com.birosoft.liquid.LiquidLookAndFeel;

           public static void main(String args[]){      
                try{
                     javax.swing.UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");                                    FrmANALISIS form=new FrmANALISIS();
                     form.setVisible(true);      
                } catch (Exception e) {
                 }      
           }

   3. QuaquaLookAndFeel http://www.randelshofer.ch/quaqua/









  /*QuaquaLookAndFeel*/
     public static void main(String args[]){    
      System.setProperty("Quaqua.tabLayoutPolicy","wrap");
      try{
         UIManager.setLookAndFeel("ch.randelshofer.quaqua.QuaquaLookAndFeel");
         JFrame.setDefaultLookAndFeelDecorated(true);      
         FrmANALISIS frame=new FrmANALISIS();    
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.show();      
      }
      catch (Exception e){
      }  
   }


/*NimbusLookAndFeel*/
  public static void main(String args[]){           
    try{
        UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");      
        FrmANALISIS frame=new FrmANALISIS();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.show(); 
      }
      catch (Exception event){
        System.out.print("No se puede mostrar Look");
      }
   }

 Aqui es necesario importar el paquete: import com.nilo.plaf.nimrod.*;

  //NimRODLookAndFeel//
   //   import com.nilo.plaf.nimrod.*;
    public static void main(String args[]){
      try{         
         NimRODLookAndFeel nf = new NimRODLookAndFeel();
         UIManager.setLookAndFeel( nf);      
         FrmANALISIS frame=new FrmANALISIS();
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.show(); 
      }
      catch (Exception event){
         System.out.print("No se puede mostrar Look");
      }
   } 

Nota: La ventaja de NimRODLookAndFeel es que podemos personalizar nuestro propio estilo de manera muy facil y practico http://nilogonzalez.es/nimrodlf/screenshots.html. Como hacerlo? Aqu te va:
  - Abre el archivo nimrodlf-1.2a.jar (Click derecho abrir con Java(ME))

  - Aqui puedes modificar los colores, fondo, bordes, estilo de tablas, InternalFrame, etc. y para ir viendo el resultado de prueba le das click en Test.
 - Luego que hayas personalizado tu tema a tu preferencia tienes que guardarlo. Para ello le das click en en boton Save en Config. Guardar en (C:\ProgramFiles\Java\jdk1.7.0_06\jre\lib\ext).
 - Al guardar se guardara como *.theme. Ejemplo: "Copia de ThemeAzul.theme"  que es el archivo que usaras en tu proyecto para obtener un aspecto muy diferente al original de  NimRODLookAndFeel.
Por ejemplo



*Para poder usar tu nuevo tema haces lo siguiente, remplazas nuevamnete tu Void main asi:

  public static void main(String args[]){
      try{
         NimRODTheme nt = new NimRODTheme( "Copia de ThemeAzul.theme");
         NimRODLookAndFeel nf = new NimRODLookAndFeel();
         nf.setCurrentTheme(nt);
         UIManager.setLookAndFeel(nf);
 
         FrmANALISIS frame=new FrmANALISIS();
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.show(); 
      }
      catch (Exception event){
         System.out.print("No se puede mostrar Look");
      }  
   }

 - Eso es todo, espero les aya sido de ayuda este material y aqui les dejo el codigo java completo. Compilarlo en JGrasp y restaurar la BD.

Ejemplo de Manejo de algunos eventos AWT(JAVA )

Los eventos de los JButton, al igual que la creación del mismo, son sacados del paquete import java.awt.event (manual de referencia AWT) que viene por defecto cuando se instala Java y son muy fáciles de utilizar.


Aquí le dejo algunos ejemplos que unos amigos me pidieron.  Son 2 ejemplos, donde aprenderán a:
1. El manejo y creación de eventos de los JButton y JMenuItem
2. El manejo y creación de eventos de los JComboBox al seleccionar una items( también  la dependencia de un combo del otro).
3. Invocar o llamar a una ventana JInternalFrame desde un JFrame y asociarlo a un JDesktopPane.


Espero que les se de mucha ayuda.
Cualquier sugerencia, pregunta o comentario, déjenlo acá.

Ejemplo de Login en Java

Hoy vamos a ver un ejemplo de como hacer un logeo en un java. Este ejemplo esta programado en java código puro con el ID JGrasp( descargar JGrasp).

Para la demostración, primero espesaremos mencionar lo que utilizaremos:
  1. Las librerias(
                          import javax.swing.event.*;   
                          import javax.swing.*;
                          import java.awt.*;
                          import java.awt.event.*;
                       )
  2. Un "extends JDialog"
  3. JPasswordField y JTextFieldD
  4. Dos JButton
  5. Un método para un  evento---> Entrar_logeo(ActionEvent e)
  6. Las claves de acceso son usuario=admin y contraseña=123
Nota: La validación de usuarios esta definida a nivel de código java, pero lo ideal es que esté validando de alguna base de datos. Lo cual lo publicare en en otra publicación.
  • En la ventana, si iniciamos correctamente mostrará un mensaje así:

    if(password.equals("123")&&(usser.equals("admin")))   {                                                         JOptionPane.showMessageDialog(null, "Bienvenido al Sistema"); 
          }