Java Swing | JDialog with examples

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




