java.awt

Class Desktop

public class Desktop extends Object

This class enables Java application to access system commands to perform desktop oriented operations, like writing and sending emails, or surfing webpages with the system browser or editing/printing files with a default editor. Methods are provided to handle these common operations, plus an open command selects a default registered application for the specified file type. For example, opening an odf file results in launching OpenOffice. If an operation is not supported, or the application fails to launch, an exception is generated. Implementation note: As this class is used to manage Desktop integration, we provide some extension to configure the behaviour of this class depending on the type of dektop that is detected.
First of all, we support 5 system properties that can be used to define the application to launch in any given case. These properties are:

gnu.java.awt.peer.Desktop.html.command
gnu.java.awt.peer.Desktop.mail.command
gnu.java.awt.peer.Desktop.edit.command
gnu.java.awt.peer.Desktop.print.command
gnu.java.awt.peer.Desktop.open.command


These can be specified from the command line and have priority on every other setting.

The second method supported is defining a Java preference.
The main preference node is a user node relative to the class gnu.java.awt.peer.ClasspathDesktopPeer. This node contains a child for each supported operation. The key for each type is always command:

gnu.java.awt.peer.Desktop.html.command
gnu.java.awt.peer.Desktop.mail.command
gnu.java.awt.peer.Desktop.edit.command
gnu.java.awt.peer.Desktop.print.command
gnu.java.awt.peer.Desktop.open.command


The access to these keys is done with the Preference API or, if outside of the java scope, is done in a backend dependent way. For example, with the GConf backend, you can access these properties with (may not be accurate on your system):

gconftool-2 -g /apps/classpath/gnu/java/awt/peer/Desktop/html/command

Since: 1.6

Nested Class Summary
static classDesktop.Action
Represents an action type supported by a platform.
Method Summary
voidbrowse(URI uri)
Launches the Desktop default browser to open the given uri.
voidedit(File file)
Launch the edit command to edit this file.
static DesktopgetDesktop()
Returns an istance of the Desktop Class.
booleanisSupported(Desktop.Action action)
Check if the given Action is supported by this implementation.
voidmail()
Launches the Desktop default mailer.
voidmail(URI mailtoURI)
Launches the Desktop default mailer, with the given mailtoURI as agrument.
voidopen(File file)
Launches the Desktop default application to open the given File.
voidprint(File file)
Launch the print program to print this file.

Method Detail

browse

public void browse(URI uri)
Launches the Desktop default browser to open the given uri. If a security manager exists and denies AWTPermission("showWindowWithoutWarningBanner"),a SecurityException will be generated.

Parameters: uri

Throws: IOException

edit

public void edit(File file)
Launch the edit command to edit this file. File should already exist before the editing starts. If a security manager exists and SecurityManager.checkRead(java.lang.String) method denies read access to the file, or SecurityManager.checkPrintJobAccess() method denies the permission to print the file, a SecurityException will be generated.

Parameters: file

Throws: IOException

getDesktop

public static Desktop getDesktop()
Returns an istance of the Desktop Class. If this implementation does not support Desktop, an UnsupportedOperationException will be thrown. Also, an HeadlessException will be generated if GraphicsEnvironment.isHeadless() returns true.

Throws: UnsupportedOperationException HeadlessException

isSupported

public boolean isSupported(Desktop.Action action)
Check if the given Action is supported by this implementation.

Parameters: action

Returns:

mail

public void mail()
Launches the Desktop default mailer. If a security manager exists and denies AWTPermission("showWindowWithoutWarningBanner"), a SecurityException will be generated.

Throws: IOException

mail

public void mail(URI mailtoURI)
Launches the Desktop default mailer, with the given mailtoURI as agrument. The mailtoURI must conform to the {@link http://www.ietf.org/rfc/rfc2368.txt The mailto URL scheme (RFC 2368)} If a security manager exists and denies AWTPermission("showWindowWithoutWarningBanner"), a SecurityException will be generated.

Parameters: mailtoURI

Throws: IOException

open

public void open(File file)
Launches the Desktop default application to open the given File. If file is a directory, a file manager is launched.

Parameters: file

Throws: IOException

print

public void print(File file)
Launch the print program to print this file.

Parameters: file

Throws: IOException