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…

5 Comentarios | deja el tuyo

Feb, 02 2010 - 2:10 am

Convertir XML a Array en PHP

PHP posee una completa API para la manipulación de archivos XML. Sin embargo, algunas veces queremos hacer cosas muy simples y no vale la pena construir manualmente un script que sirva de parser de un archivo XML. En esos casos, podemos hacer uso de una función llamada xml2array.

La idea es bastante simple: le pasamos como argumento el string de un archivo XML y nos retorna un array asociativo con los datos del mismo. Los pasos son los siguientes:

0. Descargar la función

Lo primero es descargar la función de aquí. Copias el código PHP y lo pones en un archivo con nombre xml2array.php

1. Ejecutar la función [ejemplo]

Debemos usar la función file_get_contents para obtener el string con el XML que pasaremos como parámetro a la función. Suponiendo que tenemos este archivo XML:

<?xml version="1.0" encoding="iso-8859-1"?>
<distros type="linux">
    <nombre id="1">Gentoo</nombre>
    <nombre id="2">Arch</nombre>
    <nombre id="3">Exherbo</nombre>
</distros>

Podríamos usar xml2array así:

<?php
require("xml2array.php");
$contenido = file_get_contents('datos.xml');
$resultado = xml2array($contenido);
var_dump($resultado);
?>


El resultado sería el dump del array: Leer el resto de la entrada…

8 Comentarios | deja el tuyo

Feb, 01 2010 - 8:56 am

Reorganización en las Certificaciones de Sun

Luego de la adquisición de Sun por parte de Oracle es obvio que comencemos a ver muchos cambios. Hay uno en especial que me parece bastante importante y es la reorganización de las certificaciones de Sun. Lo primero es que ahora, es necesario tener el certificado básico de Java para poder acceder a las demás certificaciones. Además hay más certificaciones y con un enfoque un poco más específico.

Este es un esquema del antiguo modelo de certificaciones de Sun:

Este es el nuevo esquema de Oracle/Sun:

Como pueden apreciar, con la combinación de algunas de estas certificaciones se logra un “Master”.

De momento parece bien… aunque leo lo siguiente:

Available only in United States, Australia, Canada, Belgium, Czech Republic, Germany, Hungary, Hong Kong, Italy, Luxembourg, Netherlands, Singapore, Spain, Switzerland, United Kingdom.

Es decir, los que vivimos en Latinoamérica tendremos que esperar un poco :mrgreen: ¿qué les parece el cambio?

6 Comentarios | deja el tuyo

« Entradas anteriores