Prev: JOptionPane - Simple Dialogs | Next: none

Java: JOptionPane - More Dialogs

Here are some more useful static methods from javax.swing.JOptionPane that allow you to ask the user to indicate a choice.

ValueMethod call
response =  JOptionPane.showConfirmDialog(component, text);
response =  JOptionPane.showOptionDialog(component, message, title, optionType, messType, icon, options, initVal);

Example

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
 34 
// File: joptionpane-example/JOptionPaneTest2.java
// Description: JOptionPanes with options.
// Author: Fred Swartz
// Date:   31 Jan 2005

import javax.swing.JOptionPane;

public class JOptionPaneTest2 {
    public static void main(String[] args) {

        String[]  choices = {"Democratic", "Republican", "None of your business"};
        int doAgain;

        do {
            int response = JOptionPane.showOptionDialog(
                 null                       // center over parent
               , "How did you vote?"        // message
               , "Party Poll"               // title in titlebar
               , JOptionPane.YES_NO_OPTION  // Option type
               , JOptionPane.PLAIN_MESSAGE  // messageType
               , null                       // icon
               , choices                    // Options
               , "None of your business"    // initial value
            );

            JOptionPane.showMessageDialog(null, "Response = " + response);


            doAgain = JOptionPane.showConfirmDialog(null, "Again?");
        } while (doAgain == JOptionPane.YES_OPTION);

        System.exit(0);
    }
}

Notes

Line 11
This defines an array of strings that will be displayed as possible choices.
Line 15...
Returns an int value identifying which of the String array of options was chosen. Note that the array element numbering starts with zero, not one.
Line 27
Simple message dialog. The value two indicated that the "None of your business" choice was made by the user.
Line 30
Asks a yes/no/cancel question. Returns one of these values:
  • JOptionPane.YES_OPTION
  • JOptionPane.NO_OPTION
  • JOptionPane.CANCEL_OPTION
  • JOptionPane.CLOSED_OPTION Dialog box was closed. Usually treated like CANCEL_OPTION.