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.

Value | Method 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.