Java Swing | JDialog with examples

16 Apr, 2021
JDialog is a part Java swing package. The main purpose of the dialog is to add components to it. JDialog can be customized according to user need .Constructor of the class are:  
JDialog() : creates an empty dialog without any title or any specified ownerJDialog(Frame o) :creates an empty dialog with a specified frame as its ownerJDialog(Frame o, String s) : creates an empty dialog with a specified frame as its owner and a specified titleJDialog(Window o) : creates an empty dialog with a specified window as its ownerJDialog(Window o, String t) : creates an empty dialog with a specified window as its owner and specified title.JDialog(Dialog o) :creates an empty dialog with a specified dialog as its ownerJDialog(Dialog o, String s) : creates an empty dialog with a specified dialog as its owner and specified title.
JDialog() : creates an empty dialog without any title or any specified owner
JDialog(Frame o) :creates an empty dialog with a specified frame as its owner
JDialog(Frame o, String s) : creates an empty dialog with a specified frame as its owner and a specified title
JDialog(Window o) : creates an empty dialog with a specified window as its owner
JDialog(Window o, String t) : creates an empty dialog with a specified window as its owner and specified title.
JDialog(Dialog o) :creates an empty dialog with a specified dialog as its owner
JDialog(Dialog o, String s) : creates an empty dialog with a specified dialog as its owner and specified title.
Commonly used methods  
setLayout(LayoutManager m) : sets the layout of the dialog to specified layout managersetJMenuBar(JMenuBar m) : sets the menubar of the dialog to specified menubaradd(Component c): adds component to the dialogisVisible(boolean b): sets the visibility of the dialog, if value of the boolean is true then visible else invisibleupdate(Graphics g) : calls the paint(g) functionremove(Component c) : removes the component cgetGraphics() : returns the graphics context of the component.getLayeredPane() : returns the layered pane for the dialogsetContentPane(Container c) :sets the content pane for the dialogsetLayeredPane(JLayeredPane l) : set the layered pane for the dialogsetRootPane(JRootPane r) : sets the rootPane for the dialoggetJMenuBar() : returns the menubar of the componentsetTransferHandler(TransferHandler n) : Sets the transferHandler property, which is a mechanism to support transfer of data into this component.setRootPaneCheckingEnabled(boolean enabled) : Sets whether calls to add and setLayout are forwarded to the contentPane.setRootPane(JRootPane root) :Sets the rootPane property of the dialog.setGlassPane(Component glass) : Sets the glassPane property of the dialog.repaint(long time, int x, int y, int width, int height): Repaints the specified rectangle of this component within time milliseconds.remove(Component c): Removes the specified component from the dialog.isRootPaneCheckingEnabled() : Returns whether calls to add and setLayout are forwarded to the contentPane or not .getTransferHandler() : returns the transferHandler property.getRootPane() : Returns the rootPane object for this dialog.getGlassPane() : Returns the glassPane object for this dialog.createRootPane() : Called by the constructor methods to create the default rootPane.addImpl(Component co, Object c, int i) : Adds the specified child Component to the dialog.
setLayout(LayoutManager m) : sets the layout of the dialog to specified layout manager
setJMenuBar(JMenuBar m) : sets the menubar of the dialog to specified menubar
add(Component c): adds component to the dialog
isVisible(boolean b): sets the visibility of the dialog, if value of the boolean is true then visible else invisible
update(Graphics g) : calls the paint(g) function
remove(Component c) : removes the component c
getGraphics() : returns the graphics context of the component.
getLayeredPane() : returns the layered pane for the dialog
setContentPane(Container c) :sets the content pane for the dialog
setLayeredPane(JLayeredPane l) : set the layered pane for the dialog
setRootPane(JRootPane r) : sets the rootPane for the dialog
getJMenuBar() : returns the menubar of the component
setTransferHandler(TransferHandler n) : Sets the transferHandler property, which is a mechanism to support transfer of data into this component.
setRootPaneCheckingEnabled(boolean enabled) : Sets whether calls to add and setLayout are forwarded to the contentPane.
setRootPane(JRootPane root) :Sets the rootPane property of the dialog.
setGlassPane(Component glass) : Sets the glassPane property of the dialog.
repaint(long time, int x, int y, int width, int height): Repaints the specified rectangle of this component within time milliseconds.
remove(Component c): Removes the specified component from the dialog.
isRootPaneCheckingEnabled() : Returns whether calls to add and setLayout are forwarded to the contentPane or not .
getTransferHandler() : returns the transferHandler property.
getRootPane() : Returns the rootPane object for this dialog.
getGlassPane() : Returns the glassPane object for this dialog.
createRootPane() : Called by the constructor methods to create the default rootPane.
addImpl(Component co, Object c, int i) : Adds the specified child Component to the dialog.
The following programs will illustrate the use of JDialog 1 .Program to create a simple JDialog  
Java
// java Program to create a simple JDialogimport java.awt.event.*;import java.awt.*;import javax.swing.*;class solve extends JFrame implements ActionListener {     // frame    static JFrame f;     // main class    public static void main(String[] args)    {        // create a new frame        f = new JFrame("frame");         // create a object        solve s = new solve();         // create a panel        JPanel p = new JPanel();         JButton b = new JButton("click");         // add actionlistener to button        b.addActionListener(s);         // add button to panel        p.add(b);         f.add(p);         // set the size of frame        f.setSize(400, 400);         f.show();    }    public void actionPerformed(ActionEvent e)    {        String s = e.getActionCommand();        if (s.equals("click")) {            // create a dialog Box            JDialog d = new JDialog(f, "dialog Box");             // create a label            JLabel l = new JLabel("this is a dialog box");             d.add(l);             // setsize of dialog            d.setSize(100, 100);             // set visibility of dialog            d.setVisible(true);        }    }}
Output:  
2. Program to create a dialog within a dialog 
Java
// java Program to create a dialog within a dialogimport java.awt.event.*;import java.awt.*;import javax.swing.*;class solve extends JFrame implements ActionListener {     // frame    static JFrame f;     // dialog    static JDialog d, d1;     // main class    public static void main(String[] args)    {        // create a new frame        f = new JFrame("frame");         // create a object        solve s = new solve();         // create a panel        JPanel p = new JPanel();         JButton b = new JButton("click");         // add actionlistener to button        b.addActionListener(s);         // add button to panel        p.add(b);         f.add(p);         // set the size of frame        f.setSize(400, 400);         f.show();    }    public void actionPerformed(ActionEvent e)    {        String s = e.getActionCommand();        if (s.equals("click")) {            // create a dialog Box            d = new JDialog(f, "dialog Box");             // create a label            JLabel l = new JLabel("this is first dialog box");             // create a button            JButton b = new JButton("click me");             // add Action Listener            b.addActionListener(this);             // create a panel            JPanel p = new JPanel();             p.add(b);            p.add(l);             // add panel to dialog            d.add(p);             // setsize of dialog            d.setSize(200, 200);             // set visibility of dialog            d.setVisible(true);        }        else { // create a dialog Box            d1 = new JDialog(d, "dialog Box");             // create a label            JLabel l = new JLabel("this is second dialog box");             d1.add(l);             // setsize of dialog            d1.setSize(200, 200);             // set location of dialog            d1.setLocation(200, 200);             // set visibility of dialog            d1.setVisible(true);        }    }}
Output :  
Note : The above programs might not run in an online compiler please use an offline IDE 
sweetyty
java-swing
Java
Programming Language
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Object Oriented Programming (OOPs) Concept in Java
How to iterate any Map in Java
Interfaces in Java
HashMap in Java with Examples
ArrayList in Java
Differences between Procedural and Object Oriented Programming
Arrow operator -> in C/C++ with Examples
Modulo Operator (%) in C/C++ with Examples
Structures in C++
Decorators with parameters in Python