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