lunes, 24 de enero de 2011

Cambio de Interfaces en JAVA, uso de Substance Look And Feel. Parte 1

Si alguna vez nos preguntamos, ¿Cómo puedo hacer que mi aplicación de escritorio se vea mejor? o ¿Como cambio la interfaz de mi aplicación?.....o algo por el estilo... Acá les escribo de un proyecto interesante, es el proyecto Substance, el cual mediante unas librerías nos permite cambiar el entorno de nuestras aplicaciones de escritorio de la manera mas fácil, pudiendo así colocar Marcas de Agua, Apariencias, Cambiar la forma a los botones...entre otras apariencias sobre los controles SWING....

Pero......¿¿¿Cómo se hace...???.


Primero descargamos los .JAR necesarios de Substance, la version que voy a usar es la Substance 4.3 siendo la última 6.1, pero aún no he conseguido hacerlo con esta última...
Para ello vamos a https://substance.dev.java.net/servlets/ProjectDocumentList?folderID=9911&expandFolder=9911&folderID=6320 y descargamos el que dice Runtime library (full functionality), unos 1.75 MB. o bien si queréis descargar el proyecto completo Substance 4.3 distribution, unos 15.5 MB. 
Sugerencia: Luego de descargarlo lo colocamos en una carpeta fácil de acceder ejemplo "C:\Librerias\".


Ahora Abrimos nuestro NetBeans...y en un nuevo proyecto o en uno existente damos click derecho en la parte que dice Libraries >> AddJAR/Folder (Imagen 1):


Imagen 1.
y nos aparece la ventana (Imagen 2):
Imagen 2.

Aquí seleccionamos el archivo substance que nos descargamos (guardado en "C:\Librerias\" si seguiste mi consejo) y damos click en abrir, luego se nos tiene que cargar en nuestro proyecto este substance.jar (Imagen 3).

Imagen 3.
Hasta ahora hemos preparado el entorno y las librerías necesarias, ahora para cambiar la interfaz se implementa (puede ser en el main) el siguiente código:

Importamos la librería Substance Look And Feel...

import org.jvnet.substance.SubstanceLookAndFeel;


En el main:


JFrame.setDefaultLookAndFeelDecorated(true);
SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.CremeCoffeeSkin");

JFIngreso Ventana  = new JFIngreso();

Ventana.setVisible(true);




Donde: 
JFIngreso es la primera ventana que quieres mostrar en el proyecto.





Ejemplo de lo Realizado:




Antes de Aplicar Substance.

Después de Aplicar CremeCoffeeSkin.

Después de Aplicar MagmaSkin

Después de Aplicar EmeraldDuskSkin

Después de Aplicar RavenSkin

Nota: Ignorar el redondeado de los botones eso lo veremos en cambio de formas a los botones.
Puedes probar con otros Skins, estos no son los únicos....


Ahora podemos Continuar con un par de ejemplos mas sobre Substance....Cambio de Interfaces en JAVA, uso de Substance Look And Feel. Parte 2

5 comentarios:

  1. Muchas gracias necesito algo así para mi proyecto de fin de curso .saludos

    ResponderEliminar
    Respuestas
    1. Suerte en tu proyecto Asis. Cualquier inquietud estamos para ayudarte.

      Eliminar
  2. men ayudame el archivo n se puede bajar :S

    ResponderEliminar
  3. no tendras algun proyecto con la libreria ya puesta?,es que no me sale(java.lang.IllegalStateException: This method must be called on the Event Dispatch Thread
    at org.jvnet.substance.SubstanceLookAndFeel.setSkin(SubstanceLookAndFeel.java:1954)
    at org.jvnet.substance.SubstanceLookAndFeel.setSkin(SubstanceLookAndFeel.java:2060)
    at org.jvnet.substance.SubstanceLookAndFeel.setSkin(SubstanceLookAndFeel.java:2097)
    at vista.NewJFrame.main(NewJFrame.java:95)
    )

    ResponderEliminar
  4. Tienes que ponerlo dentro del método main / run /

    ------------------------------------------------
    JFrame.setDefaultLookAndFeelDecorated(true);
    SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.CremeCoffeeSkin");

    FrmLogin frame = new FrmLogin();
    frame.setVisible(true);

    ------------------------------------------------

    ResponderEliminar