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 JDialog import 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 dialog import 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