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