Welcome !

Bienvenido a mi blog ! Espero encuentres lo que buscas....

lunes, 28 de abril de 2014

Java - Substance

Me he quemado la cabeza buscando una forma de poner mi aplicación java más bonita, y como soy una simple programadora, y no le hago al diseño, no he logrado hacerlo muy bien :( por lo que he recurrido al uso de Substance (es una librería) para hacer el look and feel de mi aplicación, y la verdad que he quedado bastante satisfecha con el resultado...

Paso a mostrarles la forma más sencilla de utilizar ésta librería.  De aquí en más ustedes pueden innovar cambiando botones, fondo, watermarks, etc.

En mi caso estoy usando Substance 5.3 y netbeans 7.0.1
Con googlear un poquito encontrarán Substance5.3.jar y seguramente otras versiones más nuevas, creo q van por el 7 y algo.






































Los resultados como pueden ver, son mejores que la simple IU q nos proporciona güindows.

Bueno, manos a la obra... lo primero que hay q hacer es descargar la librería.  Yo TODOS los jars que necesito los descargo de http://www.java2s.com/

Aquí, el enlace para descargar Substance 5.3.jar

Luego lo agregamos a las librerías de nuestro proyecto de la manera tradicional (clic derecho sobre libraries, add jar/folder y seleccionamos nuestro jar descargado).  Nos debe quedar así:



Para aplicarlo, es muy fácil, en el constructor de nuestro Frame, y ANTES de initComponents(), deben ir las siguientes líneas de código:

      JFrame.setDefaultLookAndFeelDecorated(true);
      SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.CremeCoffeeSkin");  //Acá yo usé el skin CremeCoffee, pero hay muchos, muchos más...

Pueden cambiar otras cositas de la IU como el aspecto de los botones por ejemplo, yo para hacerlo redondeado, usé lo siguiente... (ésto va después de initComponents() ya que sino no nos reconocerá el boton, nos dirá que no existe)

      this.boton.putClientProperty(SubstanceLookAndFeel.BUTTON_SHAPER_PROPERTY, new StandardButtonShaper());

Y mi IU de prueba, con el CremeCoffee skin y el botoncito redondeado, me quedó de la siguiente manera:

CremeCoffeeSkin y boton redondeado

le puse varios controles distintos, y un cuadro rojo para ver como se veían y la diferencia de colores...jejeje

Finalmente, para ver todos los skins disponibles, e ir probando, los listé de la siguiente manera (simplemente recorriendo el Map de skins):

Map<String, SkinInfo> allSkins = SubstanceLookAndFeel.getAllSkins();
        Iterator it = allSkins.entrySet().iterator();

        while (it.hasNext()) {
            Map.Entry e = (Map.Entry)it.next();
            System.out.println(""+e.getKey());
        }                        

Así, podremos ver los skins disponibles, y sólo cambiando la línea

SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.SaharaSkin")

aplicamos el que más nos guste.
Algunos ejemplos....
DustSkin

EmeraldDuskSkin

NebulaSkin

Eso es todo, espero les haya gustado, y despierten el bichito de las IU bonitas.
Saludos

No hay comentarios:

Publicar un comentario