Sei sulla pagina 1di 4

¿Por qué se llama Nimrod Look & Feel?

Si escribe 'Nimrod' en cualquier buscador de Internet le aparecerán un montón de


resultados diferentes, desde aviones hasta personajes bíblicos. Pero la buena, la que le
da nombre a este Look & Feel, es la novena de las Variaciones Enigma de Sir Edward
Elgar. Muy recomendable para pasar un rato escuchando buena música...
¿Qué licencia tiene?
Nimrod Look & Feel se libera bajo licencia LGPL, que quiere decir que puede usar el
binario de la librería más o menos como más le guste, tanto desde aplicaciones que
tengan su código liberado como si no. También puede consultar el código fuente y
modificarlo para su uso personal, pero si hace público ese código modificado de
cualquier manera está obligado a hacer públicas también las fuentes.

Los términos de la licencia y la misma licencia se tratan con más profundidad aquí.
¿Cómo lo uso desde mis propios programas?
Si está escribiendo una aplicación que haga uso de Swing, usar Nimrod Look & Feel
es tan sencillo como escribir el siguente código al fijar el Look & Feel.

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

Con esto se arrancará Nimrod Look & Feel con los colores por defecto. Si desea
cambiar los colores o las fuentes, puede crear su propio tema que extienda
MetalTheme y aplicarselo usando las funciones habituales.

Si sólo desea cambiar los colores, puede usar el NimRODTheme que le permite
cambiarlos sin hacer gran esfuerzo (salvo elegirlos, que es más difícil de lo que
parece). Por ejemplo:

NimRODTheme nt = new NimRODTheme();


nt.setPrimary1( new Color(10,10,10));
nt.setPrimary2( new Color(20,20,20));
nt.setPrimary3( new Color(30,30,30));

NimRODLookAndFeel NimRODLF = new NimRODLookAndFeel();


NimRODLF.setCurrentTheme( nt);
UIManager.setLookAndFeel( NimRODLF);

También puede crear un objeto NimRODTheme usando un fichero de tema previamente


guardado, en un fichero o en una URL:

NimRODTheme nt = new NimRODTheme( new URL(


"http://personales.ya.com/nimrod/data/Burdeos.theme"));
o...
NimRODTheme nt = new NimRODTheme( "c:/temas/Burdeos.theme");

NimRODLookAndFeel nf = new NimRODLookAndFeel();


nf.setCurrentTheme( nt);
UIManager.setLookAndFeel( nf);

En cualquier caso, Nimrod Look & Feel es como MetalLookAndFeel, así que lo que
vale para él vale para Nimrod Look & Feel.
¿Cómo lo uso desde las aplicaciones de otros?
Depende de la aplicación en concreto. No todas lo permiten, y para las que lo hacen
no hay un método común. Lea la documentación de la aplicación para saber cómo
hacerlo, pero lo habitual es poner el fichero nimrodlf.jar en el CLASSPATH (o en un
directorio de plugins) y decirle qué clase debe usar para arrancar el Look & Feel.

La clase es com.nilo.plaf.nimrod.NimRODLookAndFeel.

Escríbala donde la aplicación se lo pida.


¿Se pueden cambiar los colores?
Sí. Si está escribiendo su propia aplicación, en la documentación de Java y en esta
misma página tiene información de cómo hacerlo, y si esta usando una aplicación
escrita por otros, aunque podría darse algún caso en el que no funcione, puede
modificarlos pasando algunas properties a la máquina virtual de Java. Sólo hay que
poner -Dnombre_propiedad=valor_propiedad.

Por ejemplo, si nuestra aplicación se llama Aplicacion: java -


Dnimrodlf.selection=#ff0000 Aplicacion

Esto hará que la aplicación se muestre con el color de fondo habitual y los elementos
que normalmente se ven en amarillo en color rojo. El nombre de la propiedad es
nimrodlf.selection y el valor es #ff0000, que es la forma de escribir un rojo brillante
en HTML.

NimROD Look & Feel soporta estas variables:

 nimrodlf.selection: el color con el que se pintan las selecciones.


 nimrodlf.background: el color de fondo
 nimrodlf.p1: primario 1
 nimrodlf.p2: primario 2
 nimrodlf.p3: primario 3
 nimrodlf.s1: secundario 1
 nimrodlf.s2: secundario 2
 nimrodlf.s3: secundario 3
 nimrodlf.b: el negro
 nimrodlf.w: el blanco

Si quiere un mayor control sobre los colores que usa su aplicación, puede expecificar
uno por uno los ocho colores que utiliza Swing para pintar los controles usando las
variables nimrodlf.pX, nimrodlf.sX, nimrodlf.w y nimrodlf.b. Aquí puede
encontrar más información sobre qué es cada color.

selection y background son un atajo para calcular los ocho colores en vez de tener
que expecificarlos todos. Si usa selection se ignorarán las variables nimrodlf.pX,
nimrodlf.sX, nimrodlf.w y nimrodlf.b.
No entiendo porqué #ff0000 es rojo. ¿Cómo se codifican los colores?
Normal... Esa es la forma "habitual" de definir los colores en HTML.
La idea es que todos los colores se pueden definir a partir de una combinación de
colores primarios, es decir, rojo, verde y azul. Decir cuanto de cada uno de esos
colores primarios tiene el color que desamos es una forma simple de definir el color.
Por ejemplo, podría decirse que un color en concreto es un 50% rojo, un 20% verde y
un 30% azul, y podría escribirse todo junto como '#502030', sabiendo que las dos
primeras cifras tras la almohadilla son para el rojo, las dos siguientes para el verde y
las últimas para el azul.

En HTML los colores se definen exactamente igual, con la salvedad de que, por
razones históricas (y porque los ordenadores son como son), en vez de usarse
porcentajes se usan números del 0 al 255 (255 es el 100%) y en vez de escribirse en
sistema decimal se escriben en sistema hexadecimal. En este sistema los números son
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F, y por eso se puede escribir un rojo brillante como
#FF0000, que en decimal sería #255.00.00 que en porcentajes sería #100.00.00. 100%
para el rojo y 0% para el verde y el azul. Más rojo no se puede.

Si no ha entendido esto, en muchos sitios dedicados a la programación de páginas web


podrá encontrar una explicación más detallada, e incluso en algunos de ellos
encontrará aplicaciones para calcular la codificación de los colores de forma sencilla,
como en este.

En la zona de los screenshots hay ejemplos.


¿Hay más Look & Feels por ahí?
Si. Hay unos cuantos escritos por voluntarios y alguno más comercial. En Javootoo
hay una lista.
¿Cómo puedo contactar con el autor?
Si tiene algún comentario sobre Nimrod Look & Feel, la forma más rápida de
hacérmelo llegar es mandaérmelo a nimrodlf@terra.es.

Aquí hay más datos acerca de mí.


Quiero escribir mi propio Look & Feel ¿Qué necesito?
Lo primero, saber programar en Java, especialmente la parte relativa a las primitivas
gráficas y Java2D. Y tener algo de experiencia usando Swing sería muy útil.

Después, tener el código fuente de un par de Look & Feels para ver como están
hechos. Es muy instructivo ver el código de otros. También vendría muy bien tener las
fuentes del JDK, para poder ver como está escrito el MetalLookAndFeel original.

Eso en cuanto a la parte de código. Lo más difícil es saber qué dibujar, qué aspecto
deben tener los botones, las pestañas, los combos... Una vez que se tiene claro que
aspecto tendrá el nuevo Look & Feel, la mayor parte de las veces es sólo cuestión de
sobrecargar los métodos paint() para dibujar el control con el aspecto que queremos.
Habrá ocasiones en los que no será suficiente, y para esos casos, seguir las fuentes
originales del JDK le será de gran ayuda.

¡Ánimo! Da trabajo, pero cuando se termina es muy agradable usar un aplicación que
se ve exactamente como uno quiere...
NetBeans
Para ejecutar NetBeans usando NimROD Look & Feel hay que escribir:

netbeans -cp:p c:/aplicaciones/JARS/nimrodlf.jar


--laf com.nilo.plaf.nimrod.NimRODLookAndFeel

Si queremos ejecutar NetBeans usando NimROD Look & Feel con un tema llamado
"burdeos.theme" situado en "c:\aplicaciones\jars":

netbeans -J-Dnimrodlf.themeFile=c:/aplicaciones/JARS/burdeos.theme
-cp:p c:/aplicaciones/JARS/nimrodlf.jar
--laf com.nilo.plaf.nimrod.NimRODLookAndFeel

Suponiendo que tanto el fichero nimrodlf.jar como el fichero con el tema estén en el
directorio c:/aplicaciones/JARS/
Eclipse
Para ejecutar Eclipse usando NimROD Look & Feel, es necesario instalar el plugin
EoS y seguir las instrucciones que aparecen en la página del proyecto.

Para cambiar el esquema de colores, lo más sencillo es dejar el fichero con nombre
NimRODThemeFile.theme en el mismo directorio donde está el ejecutable de
eclipse.
JEdit
Para ejecutar JEdit usando NimROD Look & Feel, es necesario instalar el plugin
"LookAndFeel" y elegir "NimROD" en "Plugins->Plugin Options->Look And Feel".

Después de eso, dejar el fichero nimrodlf.jar dentro del directorio "jars"


sobreescribiendo el fichero anterior.

Para cambiar el esquema de colores, se puede dejar el fichero con nombre


NimRODThemeFile.theme en el mismo directorio donde está el fichero "jedit.jar", o
bien pasar por linea de comandos el nombre del tema así:

java -Dnimrodlf.themeFile=c:/mythemes/arena.theme -jar jedit.jar

Potrebbero piacerti anche