Java Swing | JDialog with examples – GeeksforGeeks

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: 
 

  1. JDialog() : creates an empty dialog without any title or any specified owner
  2. JDialog(Frame o) :creates an empty dialog with a specified frame as its owner
  3. JDialog(Frame o, String s) : creates an empty dialog with a specified frame as its owner 
    and a specified title
  4. JDialog(Window o) : creates an empty dialog with a specified window as its owner
  5. JDialog(Window o, String t) : creates an empty dialog with a specified window as its owner and specified title.
  6. JDialog(Dialog o) :creates an empty dialog with a specified dialog as its owner
  7. JDialog(Dialog o, String s) : creates an empty dialog with a specified dialog as its owner and specified title.

Commonly used methods 
 

  1. setLayout(LayoutManager m) : sets the layout of the dialog to specified layout manager
  2. setJMenuBar(JMenuBar m) : sets the menubar of the dialog to specified menubar
  3. add(Component c): adds component to the dialog
  4. isVisible(boolean b): sets the visibility of the dialog, if value of the boolean is true then visible else invisible
  5. update(Graphics g) : calls the paint(g) function
  6. remove(Component c) : removes the component c
  7. getGraphics() : returns the graphics context of the component.
  8. getLayeredPane() : returns the layered pane for the dialog
  9. setContentPane(Container c) :sets the content pane for the dialog
  10. setLayeredPane(JLayeredPane l) : set the layered pane for the dialog
  11. setRootPane(JRootPane r) : sets the rootPane for the dialog
  12. getJMenuBar() : returns the menubar of the component
  13. setTransferHandler(TransferHandler n) : Sets the transferHandler property, which is a mechanism to support transfer of data into this component.
  14. setRootPaneCheckingEnabled(boolean enabled) : Sets whether calls to add and setLayout are forwarded to the contentPane.
  15. setRootPane(JRootPane root) :Sets the rootPane property of the dialog.
  16. setGlassPane(Component glass) : Sets the glassPane property of the dialog.
  17. repaint(long time, int x, int y, int width, int height): Repaints the specified rectangle of this component within time milliseconds.
  18. remove(Component c): Removes the specified component from the dialog.
  19. isRootPaneCheckingEnabled() : Returns whether calls to add and setLayout are forwarded to the contentPane or not .
  20. getTransferHandler() : returns the transferHandler property.
  21. getRootPane() : Returns the rootPane object for this dialog.
  22. getGlassPane() : Returns the glassPane object for this dialog.
  23. createRootPane() : Called by the constructor methods to create the default rootPane.
  24. 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 
 

Tóm Tắt

Java




import java.awt.event.*;

import java.awt.*;

import javax.swing.*;

class solve extends JFrame implements ActionListener {

 

    

    static JFrame f;

 

    

    public static void main(String[] args)

    {

        

        f = new JFrame("frame");

 

        

        solve s = new solve();

 

        

        JPanel p = new JPanel();

 

        JButton b = new JButton("click");

 

        

        b.addActionListener(s);

 

        

        p.add(b);

 

        f.add(p);

 

        

        f.setSize(400, 400);

 

        f.show();

    }

    public void actionPerformed(ActionEvent e)

    {

        String s = e.getActionCommand();

        if (s.equals("click")) {

            

            JDialog d = new JDialog(f, "dialog Box");

 

            

            JLabel l = new JLabel("this is a dialog box");

 

            d.add(l);

 

            

            d.setSize(100, 100);

 

            

            d.setVisible(true);

        }

    }

}



Output: 
 

2. Program to create a dialog within a dialog
 

Java




import java.awt.event.*;

import java.awt.*;

import javax.swing.*;

class solve extends JFrame implements ActionListener {

 

    

    static JFrame f;

 

    

    static JDialog d, d1;

 

    

    public static void main(String[] args)

    {

        

        f = new JFrame("frame");

 

        

        solve s = new solve();

 

        

        JPanel p = new JPanel();

 

        JButton b = new JButton("click");

 

        

        b.addActionListener(s);

 

        

        p.add(b);

 

        f.add(p);

 

        

        f.setSize(400, 400);

 

        f.show();

    }

    public void actionPerformed(ActionEvent e)

    {

        String s = e.getActionCommand();

        if (s.equals("click")) {

            

            d = new JDialog(f, "dialog Box");

 

            

            JLabel l = new JLabel("this is first dialog box");

 

            

            JButton b = new JButton("click me");

 

            

            b.addActionListener(this);

 

            

            JPanel p = new JPanel();

 

            p.add(b);

            p.add(l);

 

            

            d.add(p);

 

            

            d.setSize(200, 200);

 

            

            d.setVisible(true);

        }

        else {

            d1 = new JDialog(d, "dialog Box");

 

            

            JLabel l = new JLabel("this is second dialog box");

 

            d1.add(l);

 

            

            d1.setSize(200, 200);

 

            

            d1.setLocation(200, 200);

 

            

            d1.setVisible(true);

        }

    }

}



Output : 
 

Note : The above programs might not run in an online compiler please use an offline IDE
 

My Personal Notes

arrow_drop_up