gentoo linux, java, software libre y otras hierbas
feb, 15 2010 - 9:55 am

Usando el System Tray desde Java

En esta ocasión vamos a aprender usar el System Tray desde una aplicación hecha en Java. El System Tray o área de notificaciones, es el espacio en el escritorio en donde ‘residen’ aplicaciones que el sistema está ejecutando, pero que no tienen en foco de lo que estamos haciendo.

Antes se usaban librerías nativas + JNI para lograr esto, pero desde hace un tiempo se incluyeron en el API de Java 6 las clases SystemTray y TrayIcon (dentro del paquete java.awt) lo cual nos facilita mucho las cosas.

0. Entendiendo las clases SystemTray y TrayIcon + Prerrequisitos

Antes que nada, debes tener instalada una versión reciente del JDK6. La clase java.awt.SystemTray representa el System Tray del escritorio. Para manipular dicha clase es necesario obtener un objeto estático de esta usando el método SystemTray.getSystemTray() (es decir, no es posible crear instancias de dicha clase). Además, es necesario verificar que el uso de esta clase sea soportada en el sistema donde se ejecuta. Esto lo hacemos usando el método estático SystemTray.isSupported(). Si no hay soporte, este método retornará false. Si haces un llamado al método getSystemTray y tu sistema no está soportado, se lanzará la excepción java.lang.UnsupportedOperationException.

La instancia de SystemTray contiene uno o más TrayIcons, los cuales son añadidos usando el método add(java.awt.TrayIcon), y son eliminados con el método remove(java.awt.TrayIcon).

Leer el resto de la entrada…

13 Comentarios | deja el tuyo