Message dialogs provide information to the user. Message dialogs are created with the JOptionPane.showMessageDialog() method.
We call the static showMessageDialog() method of the JOptionPane class to create a message dialog. We provide the dialog’s parent, message text, title, and message type. The message type is one of the following constants :
- ERROR_MESSAGE
- WARNING_MESSAGE
- QUESTION_MESSAGE
- INFORMATION_MESSAGE
Methods Used :
- setLayout(…): method helps us to set the layout of the container, often a JPanel, to say FlowLayout, BorderLayout, GridLayout, null layout, or whatever layout we want to add on container.
- setBounds(…): method is used to set the location and size of components like JButton, and is only useful if null layout is used in JFrame.
- setVisible(…): method is used to set the Visibility status of JFrame.
- setVisible(true) will set JFrame visible to user.
- setVisible(false) will set JFrame not visible to user.
- getSource(): An event object contains a reference to the component that generated the event. To extract that reference from the event object we use getSource() Method.
- add(): It is used to add components like JButton etc, to the container of JFrame.
Below is the implementation of above discussed method to show Message Dialogs :
Java
// Java program to show ERROR_MESSAGE dialog // in Java. Importing different Package. import java.awt.*; import java.awt.event.*; import javax.swing.*; class Demo extends JFrame implements ActionListener { // Declaration of object of JButton class. JButton b1; // Constructor of Demo class Demo() { // Setting layout as null of JFrame. this .setLayout( null ); // Initialization of object of "JButton" class. b1 = new JButton( "Button 1" ); // Setting Bounds of a JButton. b1.setBounds( 130 , 05 , 100 , 50 ); //"this" keyword in java refers to current object. // Adding JButton on JFrame. this .add(b1); // Adding Listener toJButton. b1.addActionListener( this ); } // Override Method public void actionPerformed(ActionEvent evt) { if (evt.getSource() == b1) { // Code To popup an ERROR_MESSAGE Dialog. JOptionPane.showMessageDialog( this , "Enter a valid Number" , "ERROR" , JOptionPane.ERROR_MESSAGE); } } } class MessageDialogs1 { // Driver code public static void main(String args[]) { // Creating Object of demo class. Demo f = new Demo(); // Setting Bounds of a Frame. f.setBounds( 200 , 200 , 400 , 300 ); // Setting Resizable status of frame as false f.setResizable( false ); // Setting Visible status of frame as true. f.setVisible( true ); } } |
Output :
Java
// Java program to show WARNING_MESSAGE dialog // in Java. Importing different Package. import java.awt.*; import java.awt.event.*; import javax.swing.*; class Demo extends JFrame implements ActionListener { // Declaration of object of JButton class. JButton b1; // Constructor of Demo class Demo() { // Setting layout as null of JFrame. this .setLayout( null ); // Initialization of object of "JButton" class. b1 = new JButton( "Button 2" ); // Setting Bounds of a JButton. b1.setBounds( 130 , 05 , 100 , 50 ); //"this" keyword in java refers to current object. // Adding JButton on JFrame. this .add(b1); // Adding Listener toJButton. b1.addActionListener( this ); } // Override Method public void actionPerformed(ActionEvent evt) { if (evt.getSource() == b1) { // Code To popup an WARNING_MESSAGE Dialog. JOptionPane.showMessageDialog( this , "Enter a valid String" , "WARNING" , JOptionPane.WARNING_MESSAGE); } } } class MessageDialogs2 { // Driver code public static void main(String args[]) { // Creating Object of demo class. Demo f = new Demo(); // Setting Bounds of a Frame. f.setBounds( 200 , 200 , 400 , 300 ); // Setting Resizable status of frame as false f.setResizable( false ); // Setting Visible status of frame as true. f.setVisible( true ); } } |
Output :
Java
// Java program to show QUESTION_MESSAGE // dialog in Java. Importing different Package. import java.awt.*; import java.awt.event.*; import javax.swing.*; class Demo extends JFrame implements ActionListener { // Declaration of object of JButton class. JButton b1; // Constructor of Demo class Demo() { // Setting layout as null of JFrame. this .setLayout( null ); // Initialization of object of "JButton" class. b1 = new JButton( "Button 3" ); // Setting Bounds of a JButton. b1.setBounds( 130 , 05 , 100 , 50 ); //"this" keyword in java refers to current object. // Adding JButton on JFrame. this .add(b1); // Adding Listener toJButton. b1.addActionListener( this ); } // Override Method public void actionPerformed(ActionEvent evt) { if (evt.getSource() == b1) { // Code TO popup a QUESTION_MESSAGE Dialog. JOptionPane.showMessageDialog( this , "Do you want to quit" , "Question" , JOptionPane.QUESTION_MESSAGE); } } } class MessageDialogs3 { // Driver code public static void main(String args[]) { // Creating Object of demo class. Demo f = new Demo(); // Setting Bounds of a Frame. f.setBounds( 200 , 200 , 400 , 300 ); // Setting Resizable status of frame as false f.setResizable( false ); // Setting Visible status of frame as true. f.setVisible( true ); } } |
Output :
Java
// Java program to show INFORMATION_MESSAGE // dialog in Java. Importing different Package. import java.awt.*; import java.awt.event.*; import javax.swing.*; class Demo extends JFrame implements ActionListener { // Declaration of object of JButton class. JButton b1; // Constructor of Demo class Demo() { // Setting layout as null of JFrame. this .setLayout( null ); // Initialization of object of "JButton" class. b1 = new JButton( "Button 4" ); // Setting Bounds of a JButton. b1.setBounds( 130 , 05 , 100 , 50 ); //"this" keyword in java refers to current object. // Adding JButton on JFrame. this .add(b1); // Adding Listener toJButton. b1.addActionListener( this ); } // Override Method public void actionPerformed(ActionEvent evt) { if (evt.getSource() == b1) { // Code To popup an INFORMATION_MESSAGE Dialog. JOptionPane.showMessageDialog( this , "You Pressed Button FOUR" , "INFORMATION" , JOptionPane.INFORMATION_MESSAGE); } } } class MessageDialogs4 { // Driver code public static void main(String args[]) { // Creating Object of demo class. Demo f = new Demo(); // Setting Bounds of a Frame. f.setBounds( 200 , 200 , 400 , 300 ); // Setting Resizable status of frame as false f.setResizable( false ); // Setting Visible status of frame as true. f.setVisible( true ); } } |
Output :