Open In App

Java AWT | Desktop Class

Last Updated : 23 Oct, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

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:review-team@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



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads