A JOptionPane showOptionDialog example

The JOptionPane showOptionDialog is generally pretty straightforward, so without any introduction, here's the source code for a quick JOptionPane showOptionDialog example:

public void handleQuit()
{
  // display the showOptionDialog
  int choice = JOptionPane.showOptionDialog(null, 
      "You really want to quit?", 
      "Quit?", 
      JOptionPane.YES_NO_OPTION, 
      JOptionPane.QUESTION_MESSAGE, 
      null, null, null);

  // interpret the user's choice
  if (choice == JOptionPane.YES_OPTION)
  {
    System.exit(0);
  }
}

As you can guess, this simple handleQuit method does the following:

  • Prompts the user with a JOptionPane showOptionDialog.
  • If the user clicks the "Yes" button, our program is ended

Here's what this JOptionPane.showOptionDialog dialog looks like when it is displayed:

A JOptionPane showOptionDialog example dialog

 

Controlling the JOptionPane showOptionDialog prompts

If you want to control the prompts that are shown to the user (the buttons), you can easily add your own labels to the buttons, as shown in this JOptionPane showOptionDialog example:

public void handleQuit() throws IllegalStateException
{
  // display the showOptionDialog
  Object[] options = { "OK", "Cancel" };
  int choice = JOptionPane.showOptionDialog(null, 
      "You really want to quit?", 
      "Quit?", 
      JOptionPane.YES_NO_OPTION, 
      JOptionPane.QUESTION_MESSAGE, 
      null, 
      options, 
      options[0]);

  // interpret the user's choice
  if (choice == JOptionPane.YES_OPTION)
  {
    System.exit(0);
  }
}

As you can see, the rest of the showOptionDialog code is the same, and you just provide your desired options as an Object array.