Nimbus look and feel+looks globales para swing

En mi que hacer laboral con Java casi no tengo contacto con aplicaciones de escritorio Java, sin embargo con mi presentación de Java 7 en el Java Day Guatemala hubo algo que me llamo la atención, el look and feel Nimbus.

Nimbus es un look and feel que me recuerda a las aplicaciones de configuración de Oracle RDBMS. Se encuentra disponible desde Java 6u10 y con el lanzamiento de Java 7 paso a ser parte del JDK estandar y dejo de ser una extensión (no más com.sun, ahora sera parte de javax), la característica que más me llama la atención es que no se encuentra basado en bitmaps como Metal sino que se basa en gráficos Vectoriales lo que significa que vamos a tener mejor precisión en el renderizado de componentes incluso en resoluciones enormes :).

Por ejemplo en un monitor HD utilizando netbeans-7.0.1 nimbus tiene la siguiente apariencia (convenientemente redimensionado para mostrar a Duke):

En java 6 lo encontraremos en:
com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel

Y en Java 7 en
javax.swing.plaf.nimbus.NimbusLookAndFeel

¿Como lo utilizo en mi aplicación?

Basta con agregar el siguiente codigo a nuestro metodo Main, noten que en lugar de establecerlo directo hago una busqueda del look and feel porque estoy seguro que esta instalado en la JVM (Hotspot), solo que prevengo que mi aplicación sea compatible hacia atras con Java 6

1
2
3
4
5
6
7
for(UIManager.LookAndFeelInfo laf:UIManager.getInstalledLookAndFeels()){
if("Nimbus".equals(laf.getName()))
try {
UIManager.setLookAndFeel(laf.getClassName());
} catch (Exception ex) {
}
}

¿Como lo vuelvo mi look and feel predeterminado?

Si les gusto como a mi 😀 y no quieren editar uno por uno los archivos de configuración de sus aplicaciones, basta con añadir al archivo (o crear el archivo) $JAVA_HOME/lib/swing.properties la siguiente linea, dependiendo de la versión de Java que tenga su sistema, por ejemplo para Java 6

swing.defaultlaf=com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel

[QuickTip] Quickpkg – Generacion de binarios en Gentoo

Supongamos que uds. tienen un sistema Gentoo con más de 3 años sin dar formato al disco 😎 y supongamos que en determinado momento uds. deciden saltar a la version inestable de un paquete vital por ejemplo dev-libs/glib y quieren conservar la version que tienen por si algo sale mal y no pueden compilarlo nuevamente.

Para esto Gentoo dispone de la herramienta la cual ejecutamos asi:

quickpkg dev-libs/glib

Y luego instalamos con la opcion usepkg

emerge --usepkg dev-libs/glib

Por defecto los paquetes seran almacenados en /usr/portage/packages/ pero puede ser alterado con la variable PKGDIR en nuestro archivo /etc/make.conf

 

 

Cosas que siempre olvido al utilizar fluxbox

Aunque soy usuario de Gnome al 99.99% desde hace muchos años, de vez en cuando es bueno regresar a mis escritorios alternativos, sobre todo si Gnome 3 no permite que las aplicaciones hechas en Java funcionen. Y mi escritorio alternativo por excelencia es fluxbox, la dificultad en fluxbox es la misma que se le atribuye a Gentoo, hay que configurar todo desde 0 y a veces se me olvidan cosas básicas para el funcionamiento de fluxbox, así que acá pongo algunas para tener un registro personal y tal vez le sirven a alguien:

0) Como saber el código exacto de una tecla

El 99% de informáticos que conozco no sabe que el equivalente a presionar la tecla multimedia para aumentar volumen en el teclado en formato X Windows es  XF86AudioRaiseVolume, para obtener estos códigos podemos utilizar xev, comando cuya única utilidad es capturar los eventos que se producen en el X Windows Server e imprimirlos en consola, por ejemplo:

Hay que poner especial atención a la salida de los eventos KeyPress y KeyRelease, en el ejemplo anterior encontramos la salida de subir volumen XF86AudioRaiseVolume, dentro de el registro del evento:

1) Las teclas más comunes para shortcuts

Mod1 = Alt
Mod4 = Windows key
Control = Ctrl
Shift = Shift

2) Como tomar un screenshot

La tecla Print Scr tampoco funciona en fluxbox, o más especificamente no esta configurada para efectuar alguna funcion en particular, mi metodo favorito es utilizar scrot para capturar la pantalla.

Por ejemplo si queremos tomar una captura de la pantalla actual con un retraso de 2 segundos ejecutariamos scrot de la siguiente forma

$ scrot test.png -d 2

Y con esto grabariamos el archivo test.png en la carpeta donde ejecutamos scrot

3) Parametros que siempre agrego al archivo ~/.fluxbox/keys

#Imitar el comportamiento de gnome
Control Mod1 Left :PrevWorkSpace
Control Mod1 Right :NextWorkSpace
Mod4 Down :ShowDesktop
#Subir y bajar volumen
XF86AudioRaiseVolume :Exec amixer set "Master Front",0 5%+
XF86AudioLowerVolume :Exec amixer set "Master Front",0 5%-
#Capturar un screenshot con un archivo de nombre screen y el timestamp
Print :Exec scrot ~/Screenshots/screen$(date +%m%d%H%M%S).png

Vale la pena resaltar que yo tengo una carpeta dentro de home llamada Screenshot y que «Master Front» es el nombre que el driver alsa asigno a mi control frontal de volumen (tengo una tarjeta de 7.1 canales) este nombre varia de acuerdo a la tarjeta y podemos revisarlo en la configuración de alsa

4) Como se ve un fluxbox bien configurado

fluxbox

😀

Java Day Guatemala 2011

(8) Ayer tuve un sueño, fue sensacional los pueblos vivían en paz (8)

No se porque pero al poner este afiche viene a mi mente esta canción de los pasos , hace un par de años mientras hablabamos del primer Guatejug me imagine que seria muy bueno para Guatemala tener un JUG y que en un futuro no muy lejano tuvieramos actividades dedicadas a la promoción y difusión de Java como plataforma alternativa de desarrollo.

Y ese sueño se esta cumpliendo gracias a la gente de Guatejug. El dia ocho de octubre estaremos celebrando nuestro primer Java Day en el centro TIC’s del INTECAP con temas para todos los gustos:

  • Java General
  • Java Básico
  • Java Intermedio / Java Web


La información detallada de las charlas la pueden encontrar en este enlace: http://java.net/projects/guatejug/pages/JavaDay

Estare por ahi hablando un poco de Java 7 y seguramente tras bambalinas.

Quien sabe, tal vez en algunos años lleguemos a este nivel de eventos y publicidad:

RMS en la USAC

Hace un par de días me entere via «El blog de un emo patineto» que nuevamente el padre del movimiento de Software Libre visitara las tierras chapinas y especificamente la Universidad de San Carlos.

Richard Stallman ya estuvo en el año 2005, en esa ocasión me la perdi porque ni siquiera me entere xD, y en esta es probable que me la pierda, pero para los que tengan la oportunidad no duden en asistir y ver y en vivo y en directo el show de San Ignucio y comprueben por ustedes mismos si efectivamente RMS no se baña.

Lugar: Auditorio Francisco Vela, Facultad de Ingeniería de la Universidad de San Carlos de Guatemala

Fecha: 8 de Agosto de 2011

Hora:10 am

Costo: Q. 75.00

Un verdadero San Carlista

Durante 5 años pase combinando posts de vida universitaria con post de musica y software libre, asi que otro no esta de más . . . espero 😛

El día de mañana después de navegar por la burocracia para graduarse de la Usac, al fin voy a recibir la toga gris y negro, además de esto me asignaron dar el discurso de la promoción. No pensaba hacer otro post al respecto PERO la única parte donde puedo concentrarme para escribir es en este blog así que no esta de más publicarlo y someterlo al escrutinio publico porque mañana todo seran aplausos, lagrimas, sonrisas y fotógrafos con las mejores ofertas de «combo graduación».

Continue reading →

Datos formales de Ingenieria en Sistemas USAC (post de relleno)

Hubo gente que me consulto por cosas más formales y al parecer google les esta jugando una mala pasada con enviarlos aca antes que a la pagina de la facultad asi que vamos por pasos:

ADVERTENCIA: Este post no es chistoso asi que pueden omitirlo si no les interesa esta información.

Continue reading →