lunes, 24 de enero de 2011

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

En el tutorial anterior, vimos como usar Substance desde la descarga de la librería a el cambio de la interfaz. Ahora vamos a ver un poco mas del uso básico de substance.

¿Cómo colocar una Marca de Agua?


Suponiendo que usamos el ejemplo anterior con el Skin CremeCoffeeSkin, colocamos una línea de código más:
SubstanceLookAndFeel.setCurrentWatermark("org.jvnet.substance.watermark.SubstanceCopperplateEngravingWatermark");


Skin CremeCoffeeSkin sin Marca de Agua.

Skin CremeCoffeeSkin con SubstanceCopperplateEngravingWatermark.

Skin MangoSkin con SubstanceKatakanaWatermark.

Skin ModerateSkin con SubstanceBubblesWatermark.

Ahora veremos, como colocar una imagen como Marca de Agua.

Para ello, adicionamos la librería SubstanceImageWatermark:

import org.jvnet.substance.watermark.SubstanceImageWatermark;

y después de la colocación del Skin en el main, se configura la imagen de la Marca de Agua y la opacidad de la misma en el formulario de la siguiente manera:

SubstanceLookAndFeel.setCurrentWatermark( new SubstanceImageWatermark("c:/ima.jpg")); //La imagen de fondo.
SubstanceLookAndFeel.setImageWatermarkOpacity(new Float(0.6)); //valor aproximado de la opacidad de imageWatermark.

Ejemplo:


Colocando la Imagen:
ima.jpg
a la ventana del ejemplo anterior queda así:

Ventana Usando una imagen como marca de Agua.
Por cierto el código del main me queda así:

import javax.swing.JFrame;
import org.jvnet.substance.SubstanceLookAndFeel;
import org.jvnet.substance.watermark.SubstanceImageWatermark;
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       JFrame.setDefaultLookAndFeelDecorated(true); 
      SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.ModerateSkin"); // Setencia que aplica el skin Creme de Substance BusinessBlueSteelSkin NimbusLookAndFeel
      SubstanceLookAndFeel.setCurrentWatermark( new SubstanceImageWatermark("c:/recusiadho/ima.jpg")); //Aqui colocamos la imagen
      SubstanceLookAndFeel.setImageWatermarkOpacity(new Float(0.6));//valor aproximado de la opacidad para el Watermark
     JFIngreso Ventana  = new JFIngreso(); //JFIngreso es la ventana del ejemplo anterior.
     Ventana.setVisible(true);
    }

}

Listo, espero les sirva de ayuda.

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

Instalación de JDK 7 y Netbeans 6.9.1 en XP

Instalación de Java Development Kit 7 (JDK7).
Para instalar Java primero hay que descargar el  JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html y te resulta algo como lo de la imagen 1 (de unos 84 MB):
Imagen 1.
Una vez obtenido el instalador de nuestro JDK, lo que hay que hacer es ejecutarlo e instalar dando siguiente, siguiente....etc.
Si todo va bien, se va a instalar en C:\Archivos de programa\Java\jdk1.7.0 nuestro java.
Listo de la manera mas fácil hemos cumplido nuestro primer paso.

La Variable PATH:
La variable Path es la que permite ejecutar el compilador de java (javac.exe,java.exe,javadoc.exe) directamente sin especificar la ruta del mismo.
Para ello, hay que ir a: MiPC>>Propiedades>> Luego a la pestaña Opciones Avanzadas>>Variables de entorno>>
Estando ya aqui:
En la parte que dice Variables del Sistema verificamos si existe una variable llamada PATH, si no existe; la creamos y le Colocamos como valor C:\Archivos de programa\Java\jdk1.7.0\bin en caso de que exista, al final del valor colcamos punto y coma(;) y el valor C:\Archivos de programa\Java\jdk1.7.0\bin donde se supone instalamos el JDK.
Imagen 2.
Para verificar que hicimos el paso correctamente abrimos el cmd (inicio>>ejecutar>>cmd>>Aceptar) y colocamos: set , nos debe aparecer una lista, donde sale el Path con la dirección que le colocamos...:
Imagen 3.

Instalación de NetBeans  6.9.1.


Para Instalar Netbeans se descarga el Paquetes de descarga de NetBeans IDE, el que Dice Java.
O da click en este enlace http://netbeans.org/downloads/start.html?platform=windows&lang=en&option=java

De esto nos resulta el ejecutable de unos 213 MB.
Imagen 4.
Ahora ejecutamos y damos siguiente, siguiente, etc etc. Nos pide la ruta de donde esta instalado ej JDK pero la toma por defecto. Y listo ahora hemos Instalado tambien nuestro entorno de desarrollo.

Imagen 5.

Imagen 6.

Espero que les haya sido de ayuda mis pequeños grandes desarrolladores.

viernes, 21 de enero de 2011

Cómo colocar una imagen en un JFrame (Imagen escalada).

Hay varias formas de colocar una imagen en un Jframe, una de ellas es usando un JLabel como lo veremos a continuación.

Para ello, creamos un JLabel(jLabel1) y un JButton(jButton1) que es donde se hace la carga de la imagen al dar click...(esto último Uds. pueden hacerlo donde lo deseen).

Primero se tienen que importar las librerías java.awt.Image y javax.swing.ImageIcon.


         import java.awt.Image;
         import javax.swing.ImageIcon;

Luego de esto lo que hay que hacer es cargar la imagen de donde la tengamos guardada, esto se lo hace de la siguiente Forma:

                 ImageIcon icono = new javax.swing.ImageIcon(getClass().getResource("/imagenes/ima.png"));

Después la hacemos imagen:

         Image imagen = icono.getImage();

Ahora le podemos dar una dimensión deseada:

        ImageIcon iconoEscalado = new ImageIcon (imagen.getScaledInstance(100,100,Image.SCALE_SMOOTH));

Para finalmente colocarla en nuestro JLabel:

         jLabel1.setIcon(iconoEscalado);


El Código Final me queda así:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        ImageIcon icono = new javax.swing.ImageIcon(getClass().getResource("/imagenes/ima.png"));
        Image imagen = icono.getImage();
        ImageIcon iconoEscalado = new ImageIcon (imagen.getScaledInstance(100,100,Image.SCALE_SMOOTH));
        jLabel1.setIcon(iconoEscalado);
    }


Espero les sea de utilidad.