jueves, marzo 22, 2007

Ahora si que es más fácil jugar con el System Tray

No, no es el sucesor del Galaxy (uy, que viejo!!). Una de las novedades del JDK 1.6 en cuanto al aspecto visual de las aplicaciones es que ahora es mucho más fácil utilizar el System Tray del entorno de ventanas que estemos usando.
Ahora, esto está bueno porque antes, para poder usarlo, teníamos que acceder por medio de JNI, es decir, usando otro lenguaje compatible.
De hecho, todavía existen varias librerías que nos permitían hacerlo sin mucho trabajo, pro ejemplo:
Y había otras librerías pagas que han sido completamente hundidas por el open-source y la nueva versión.
Y si, ahora es más fácil. Simplemente tenemos dos clases: java.awt.SystemTray y java.awt.TrayIcon. La primera sirve para acceder por medio de Java a la barra de estado donde se muestran los iconos, pero ojo!!!, no significa que podemos acceder a cualquier icono, sólo a los que nuestra aplicación haya puesto ahí. Por cada aplicación que creemos, sólo habrá un objeto SystemTray y no puede ser instanciado con el operador new, sino llamando a getSystemTray(). La clase TrayIcon representa un icono, se le puede agregar un menú emergente (el tradicional Swing), un tooltip y eventos, por supuesto. De esta clase, podemos tener todas las instancias que queramos.

Les dejo este link para que vean un ejemplo: New and Updated Desktop Features in Java SE 6, Part 1

He probado un par de ejemplos, pero cuando tenga tiempo, me hago uno interesante y se los paso.

Saludos