Java AWT | Desktop Class

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 Explanantion
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



My Personal Notes arrow_drop_up


Second year Department of Information Technology Jadavpur University

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :



Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.