jueves, 21 de agosto de 2008

Uso de la clase java.awt.Desktop

Esta clase permite a una aplicación Java lanzar aplicaciones asociadas registradas en el ordenador para manejar un archivo o URL.

Las operaciones soportadas incluyen:

  • Lanzar el explorador web por defecto para abrir una URL
  • Lanzar el cliente de correo por defecto
  • Lanzar una aplicación registrada para abrir, editar o imprimir un archivo específico
Esta clase puede ser utilizada desde Java 6.

Lanzar el Explorador Web

import java.net.URI;
import java.net.URISyntaxException;
import java.io.IOException;
import java.awt.Desktop;
import java.awt.Desktop.Action;

public class UsoDeDesktop1 {
public static void main (String args[]) throws URISyntaxException, IOException{

//Se comprueba si la clase es soportada en el ordenador
if (!Desktop.isDesktopSupported()){
System.out.printf ("La clase Desktop no es soportada");
System.exit(0); //Termina la aplicación
}

//Se obtiene el objeto Desktop
Desktop escritorio = Desktop.getDesktop();

//Se crea un objeto URI indicando la dirección web
URI direccion = new URI("http://java.sun.com/javase/6/docs/api/java/awt/Desktop.html");

//Se verifica que se puede utilizar la función de abrir una dirección web en este ordenador
if (escritorio.isSupported(Desktop.Action.valueOf("BROWSE")) )
escritorio.browse(direccion); //Se abre la dirección web
else
System.out.printf ("La función BROWSE no es soportada");

}
}

Abrir y Editar un Archivo

import java.io.File;
import java.io.IOException;
import java.awt.Desktop;
import java.awt.Desktop.Action;

public class UsoDeDesktop2 {
public static void main (String args[]) throws IOException{

//Se comprueba si la clase es soportada en el ordenador
if (!Desktop.isDesktopSupported()){
System.out.printf ("La clase Desktop no es soportada");
System.exit(0); //Termina la aplicación
}

//Se obtiene el objeto Desktop
Desktop escritorio = Desktop.getDesktop();

//Se crea un objeto File indicando el archivo
File archivo = new File("UsoDeDesktop2.java");

//Se verifica que se puede utilizar la función de abrir archivos en este ordenador
if (escritorio.isSupported(Desktop.Action.valueOf("OPEN")) )
escritorio.open(archivo);
else
System.out.printf ("La función OPEN no es soportada");

//Se verifica que se puede utilizar la función de editar archivos en este ordenador
if (escritorio.isSupported(Desktop.Action.valueOf("EDIT")) )
escritorio.edit(archivo);
else
System.out.printf ("La función EDIT no es soportada");

}
}

No hay comentarios: