The Desktop class is a part of Java AWT package. This class is used to launch associated applications registered on the native desktop to handle a URI or a file.
Important Points About Desktop Class :
- It can open a default web browser showing a specific URI
- It can launch default mail client with optional mailto URI
- It can launch a registered application to open, edit or print a specific file.
Different Methods in Desktop Class
Method | Explanation |
---|---|
browse(URI u) | Launches the default browser to display a specific URI. |
edit(File f) | Launches the associated editor application and opens a file. |
getDesktop() | Returns the Desktop instance of the current browser context. |
isDesktopSupported() | returns whether this class is supported on the current platform. |
isSupported(Desktop.Action action) | returns whether an action is supported on the current platform. |
mail() | Launches the mail composing window of the user default mail client. |
mail(URI mailtoURI) | Launches the mail composing window of the user default mail client, filling the message fields specified by a mailto: URI. |
open(File f) | Launches the associated application to open the file |
print(File f) | Prints a file with the native desktop printing facility, using the associated application’s print command. |
Below programs illustrate the Desktop class in Java AWT:
- Program to Launch the browser and open a specific URI
// Java Program to Launch the browser
// and open a specific URI
import
java.awt.*;
import
javax.swing.*;
import
java.awt.event.*;
import
java.net.*;
class
desk
extends
JFrame
implements
ActionListener {
// frame
static
JFrame f;
// Main Method
public
static
void
main(String args[])
{
desk d =
new
desk();
// create a frame
f =
new
JFrame(
"desktop"
);
// create a panel
JPanel p =
new
JPanel();
// create a button
JButton b =
new
JButton(
"launch"
);
// add Action Listener
b.addActionListener(d);
p.add(b);
f.add(p);
f.show();
f.setSize(
200
,
200
);
}
// if button is pressed
public
void
actionPerformed(ActionEvent e)
{
try
{
// create a URI
URI u =
new
URI(
"www.geeksforgeeks.org"
);
Desktop d = Desktop.getDesktop();
d.browse(u);
}
catch
(Exception evt) {
}
}
}
Output :
- Program to Launch the mail to a specific URI
// Java Program to Launch the
// mail to a specific URI
import
java.awt.*;
import
javax.swing.*;
import
java.awt.event.*;
import
java.net.*;
class
desk
extends
JFrame
implements
ActionListener {
// frame
static
JFrame f;
// Main Method
public
static
void
main(String args[])
{
desk d =
new
desk();
// create a frame
f =
new
JFrame(
"desktop"
);
// create a panel
JPanel p =
new
JPanel();
// create a button
JButton b =
new
JButton(
"launch"
);
// add Action Listener
b.addActionListener(d);
p.add(b);
f.add(p);
f.show();
f.setSize(
200
,
200
);
}
// if button is pressed
public
void
actionPerformed(ActionEvent e)
{
try
{
URI u =
new
URI(
"mailto:contribute@geeksforgeeks.org"
);
Desktop d = Desktop.getDesktop();
d.mail(u);
}
catch
(Exception evt) {
JOptionPane.showMessageDialog(
this
, evt.getMessage());
}
}
}
Output:
- Program to open a file
// Java Program to open a file
import
java.awt.*;
import
javax.swing.*;
import
java.awt.event.*;
import
java.io.*;
import
java.net.*;
class
desk
extends
JFrame
implements
ActionListener {
// frame
static
JFrame f;
// Main Method
public
static
void
main(String args[])
{
desk d =
new
desk();
// create a frame
f =
new
JFrame(
"desktop"
);
// create a panel
JPanel p =
new
JPanel();
// create a button
JButton b =
new
JButton(
"launch"
);
// add Action Listener
b.addActionListener(d);
p.add(b);
f.add(p);
f.show();
f.setSize(
200
,
200
);
}
// if button is pressed
public
void
actionPerformed(ActionEvent e)
{
try
{
// create a file
File u =
new
File(
"f:\\image.png"
);
Desktop d = Desktop.getDesktop();
d.open(u);
}
catch
(Exception evt) {
JOptionPane.showMessageDialog(
this
, evt.getMessage());
}
}
}
Output :
- Program to open a file for editing
// Java Program to open a file for editing
import
java.awt.*;
import
javax.swing.*;
import
java.awt.event.*;
import
java.io.*;
import
java.net.*;
class
desk
extends
JFrame
implements
ActionListener {
// frame
static
JFrame f;
// Main Method
public
static
void
main(String args[])
{
desk d =
new
desk();
// create a frame
f =
new
JFrame(
"desktop"
);
// create a panel
JPanel p =
new
JPanel();
// create a button
JButton b =
new
JButton(
"launch"
);
// add Action Listener
b.addActionListener(d);
p.add(b);
f.add(p);
f.show();
f.setSize(
200
,
200
);
}
// if button is pressed
public
void
actionPerformed(ActionEvent e)
{
try
{
// create a file
File u =
new
File(
"f:\\sample.txt"
);
Desktop d = Desktop.getDesktop();
d.edit(u);
}
catch
(Exception evt) {
JOptionPane.showMessageDialog(
this
, evt.getMessage());
}
}
}
Output :
- Program to open a file for printing
// Java Program to open a file for printing
import
java.awt.*;
import
javax.swing.*;
import
java.awt.event.*;
import
java.io.*;
import
java.net.*;
class
desk
extends
JFrame
implements
ActionListener {
// frame
static
JFrame f;
// Main Method
public
static
void
main(String args[])
{
desk d =
new
desk();
// create a frame
f =
new
JFrame(
"desktop"
);
// create a panel
JPanel p =
new
JPanel();
// create a button
JButton b =
new
JButton(
"launch"
);
// add Action Listener
b.addActionListener(d);
p.add(b);
f.add(p);
f.show();
f.setSize(
200
,
200
);
}
// if button is pressed
public
void
actionPerformed(ActionEvent e)
{
try
{
// create a file
File u =
new
File(
"f:\\sample.txt"
);
Desktop d = Desktop.getDesktop();
d.print(u);
}
catch
(Exception evt) {
JOptionPane.showMessageDialog(
this
, evt.getMessage());
}
}
}
Output :
Reference: https://docs.oracle.com/javase/7/docs/api/java/awt/Desktop.html