Administra tu Blog

¡Crea tu Blog Ya! Fácil y Gratis

Trucos de programación en java...y más!!!
Tips, consejos y trucos sobre Programación y Bases de Datos...

14/05/2008 GMT 1

Maximizar jFrame

kolosso @ 22:34

Si queremos que al iniciar una aplicación Java nuestra ventana principal se encuentre maximizada no importa la resolución de pantalla con la cual se esté trabajando lo único que tenemos que hacer es escribir en el constructor de nuestro jFrame principal la siguiente línea de código:


this.setExtendedState(this.MAXIMIZED_BOTH);

De forma tal que nuestro constructor nos quedaría más o menos así:


public MyFrame(){
&nbthis.setExtendedState(this.MAXIMIZED_BOTH);
&nbinitComponents();
&nb...
&nb...
}


A la línea:

this.setExtendedState(this.MAXIMIZED_BOTH);

se le pueden pasar otros parámetros:

this.MAXIMIZED_HORIZ //Maximiza la aplicación horizontalmente

this.MAXIMIZED_VERT  //Maximiza la aplicación verticalmente

09/04/2008 GMT 1

Cambiar los colores del Nimrod Look&Feel

kolosso @ 21:20

El creador de Nimrod Look&Feel ha dado la posibilidad de cambiar los colores y la opacidad de este Look&Feel. Esto se realiza a través de un editor que incorpora el fichero .jar del propio "skin".

Cuando el fichero nimrodlf.jar(el mismo que usted importa al proyecto para obtener el Look&Feel) es ejecutado haciendo doble click sobre el mismo o escribiendo en la línea de comandos:

java -jar nimrodlf.jar

...se puede observar el editor que trae consigo este Look&Feel y que le permite, entre otras cosas cambiar los colores del Look&Feel y la opacidad.


Editor Nimrod Look&Feel

Aquí se pueden modificar, probar y guardar en un fichero llamado NimRODThemeFile.theme (este nombre se puede cambiar, por supuesto) las características antes mencionadas(color y opacidad). Esto se logra haciendo clicks en los recuadros "Selection", "Background", "Menu Opacity" e "Internal Frame Opacity" y escogiendo los colores y opacidad que usted desee.

Después de haber escogido los colores y la opacidad deseada se pulsa el botón "Save" y se guarda esta configuración en un fichero .theme con el nombre por defecto NimRODThemeFile.

Este fichero se coloca luego dentro de la carpeta de tabajo(../src) y cuando se compila la aplicación, habiendo importado previamente el .jar del Nimrod Look&Feel este detecta automáticamente el fichero .theme con la configuración requerida y....se puede observar al ejecutar acto seguido la aplicación como cambia el aspecto de este Look&Feel.


Nimrod Cambiado

Aquí les dejo un video de como se lleva acabo todo el proceso...

 

Si desean observar este mismo video con un poco más de calidad pueden descargarlo libremente desde el siguiente vínculo:

LookFeel.avi

 

 

04/04/2008 GMT 1

Java Look&Feel

kolosso @ 03:54

UNA BREVE INTRODUCCION

Para Java existen muchos y diferentes Look&Feel. Algunos son gratis y "open source", otros son propietarios, por lo que para usarlos se deberá pagar una cierta cantidad de dinero y adquirir una licencia de uso.

Comúnmente las ventanas en Java tienen un aspecto y estilos propio pero este se puede cambiar fácilmente si se tiene solamente dos cosas a la mano: una librería adecuada creada con el propósito de cambiar el Look&Feel de Java y una sola línea de código...

El Look&Feel de nuestras aplicaciones Java varía de acuerdo a la plataforma que se use si se escoge el Look&Feel propio del Sistema Operativo; de esta forma podemos desarrollar una aplicación Java sobre la plataforma Windows y mientras la estemos desarrollando la observamos con el Look&Feel propio de Windows:

Windows Look&Feel

...esto se logra insertando el siguiente código antes de crear cualquiera de nuestras ventanas:


import javax.swing.UIManager;
.......

try{

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

}catch (Exception e){e.printStackTrace();}


El método "getSystemLookAndFeelClassName()" devuelve el nombre de la clase Look&Feel que implementa el sistema nativo donde se está ejecutando la aplicación. Es por ello que el "skin" o Look&Feel de nuestra aplicación variará de acuerdo al Sistema Operativo en que esta se ejecute. Ahora bien, si esta misma aplicación la ejecutamos sobre otro Sistema Operativo entonces la aplicación tomará el formato y las características visuales de este.

 

 

 

PONER LOS LOOK&FEEL QUE VIENEN CON JAVA

Java nos permite modificar el Look&Feel de nuestra aplicación utilizando algunos de los Look&Feel que vienen implementados en el JDK y JRE y son proveídos por Sun MicroSystems.

Algunos de estos son:

- Metal Look&Feel (El Look&Feel por defecto de Java)

- Motif Look&Feel (El Look&Feel poe defecto de Solaris)

 

Metal Look&Feel

Este "skin" es el Look&Feel por defecto de Java y podemos lograr que nuestra aplicación luzca de esta forma utilizando las siguientes líneas de código en el constructor de nuestra ventana:


import javax.swing.UIManager;

......

try{

UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());

}catch (Exception e){e.printStackTrace();}


...o podemos utilizar estas otras líneas:
import javax.swing.UIManager;

......

try{
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");

}catch (Exception e){e.printStackTrace();}


Cualquiera sea el caso siempre obtendremos el mismo resultado:

Java LF

 

Motif Look&Feel

Este Look&Feel es el que por defecto trae Solaris y podemos simularlo para nuestra ventana de prueba que se está desarrollando sobre Windows utilizando el siguiente código:


import javax.swing.UIManager;

......

try{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
}catch (Exception e){e.printStackTrace();}


El resultado que verían sería el siguiente:

Solaris Look&Feel

 

PONIENDO LOOK&FEEL PROPIOS

Como había dicho al principio existen muchos Look&Feel que podríamos utilizar para darle el aspecto que queramos a nuetras aplicaciones.

En Javootoo podemos encontrar una selección de algunos Look&Feel gratis y pagos. Acontinuación haré mención de algunos de ellos y les mostraré algunas instantáneas de como luce nuestra ventana de pruebas con estos Look&Feel.

 

TinyLaf Look&Feel

Este Look&Feel es de los que más me gusta. La licencia es GNU LGPL y soporta aplicaciones desarrolladas a partir de el JDK 1.4+

El JAR a incluir en nuestra aplicación se puede descargar desde:

TinyLaf

Después de haberlo descargado solo tenemos que importarlo a nuestro proyecto y en el constructor de nuestra forma(Frame) principal insertamos estas líneas de código:


import javax.swing.UIManager;

......

try{

UIManager.setLookAndFeel("de.muntjak.tinylookandfeel.TinyLookAndFeel");

}catch (Exception e){e.printStackTrace();}


A continuación podemos ver cómo nos queda nuestra ventana de pruebas:

Tiny LF

InfoNode Look and Feel

Look&Feel basado en el Metal Look&Feel. Tiene licencia dual: GPL y Comercial.

La librería a importar en nuestro proyecto se puede descargar desde aquí:

InfoNode

El código a insertar en nuestro constructor de la ventana principal:


import javax.swing.UIManager;
import net.infonode.gui.laf.InfoNodeLookAndFeel;

......

try{

UIManager.setLookAndFeel(new InfoNodeLookAndFeel());

}catch (Exception e){e.printStackTrace();}


...obtendremos algo parecido a esto al ejecutar la aplicación:

InfoNode

Lipstik Look&Feel

Look&Feel bajo licencia GPL2 que soporta aplicaciones desarrolladas a partir del JDK 1.4 y superiores.

La librería a importar en nuestro proyecto se puede descargar desde aquí:

Lipstik

El código a insertar en nuestro constructor de la forma principal:


import javax.swing.UIManager;

......

try{

UIManager.setLookAndFeel(new com.lipstikLF.LipstikLookAndFeel());

}catch (Exception e){e.printStackTrace();}


Al ejecutar nuestra aplicación observaremos algo como esto:

Lippstik LF

Napkin Look&Feel

Look&Feel bajo licencia BSD que da la impresión de que nuestra aplicación Java parece estar hecha de una servilleta :)

La librería a descargar para incluir en nuestro proyecto la podemos encontrar aquí:

Napkin

El código a insertar en el constructor de la forma principal es el siguiente:


import javax.swing.UIManager;

......

try{

UIManager.setLookAndFeel("net.sourceforge.napkinlaf.NapkinLookAndFeel");

}catch (Exception e){e.printStackTrace();}


Obtendremos, al ejecutar la aplicación, algo sumamente novedoso y, hasta cierto punto de vista gracioso:

Napkin LF

NimROD Look&Feel

Look&Feel bajo licencia LGPL y que soporta aplicaciones Java a partir del JDK 1.5+

La librería a incluir en nuestro proyecto la podemos descargar desde:

NimROD

El código a insertar en el constructor del formulario principal es.


import javax.swing.UIManager;

......

try{

UIManager.setLookAndFeel("com.nilo.plaf.nimrod.NimRODLookAndFeel");

}catch (Exception e){e.printStackTrace();}


...obtendremos algo como esto al compilar y ejecutar la aplicación:

NimROD LF

 

EN RESUMEN

Los Look&Feel en Java pueden ser considerados herramientas muy útiles que permiten personalizar su aplicación al modo que usted prefiera. No solamente puede emplear los Look&Feel que ya están hecho sino que puede desarrollar los suyos propios. Claro, esto conllevaría un gran esfuerzo por parte del desarrollador y, además, tener conocimientos de programación Java 2d y de las primitivas gráficas de Java.

En Javootoo se pueden encontrar muchos otros Look&Feel que podrían servirle para brindar un aspecto más o menos profesional a su aplicación Java en dependencia de cual escoja.

 

 

Es importante conocer que no todos los Look&Feel aquí mencionados son sumamente estables y algunos tienen problemas a la hora de tratar de representar ciertos componentes Swing, pero lo cierto es que resulta una alternativa sumamente buena y apreciable poder contar con todos estos "skins" para nuestras aplicaciones Java.

TIP

Se debe tener cuidado a la hora de invocar el método setLookAndFeel de la clase UIManager ya que muchas personas cometen el error de invocar este método en el constructor de un JFrame después de haber realizado la llamada al método initComponents() y quedan asombrados de ver que el Look&Feel de la aplicación no ha cambiado de forma según usted especificó. El problema es que el método initComponents() crea e inicializa los objetos(botones, combos, etc.) que existen en el Frame principal con el Look&Feel que, supuestamente, se debe haber definido antes de llamarse este, y como usted ha invocado al método setLookAndFeel() después de haberse ejecutado initComponents() entonces no se cargará la aplicación con el Look&Feel definido por usted. Invoque el método setLookAndFeel() antes de realizar la llamada al método initComponents().

 

 

 

 

 

Archivo | ¡Crea tu Blog Ya! Fácil y Gratis