org.crosswire.common.swing

## Class CWOptionPane

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JOptionPane
        - - org.crosswire.common.swing.CWOptionPane

- All Implemented Interfaces:
    ImageObserver, MenuContainer, Serializable, Accessible

      public class CWOptionPane
      extends JOptionPane

  CWOptionPane is just like JOptionPane, but internationalize the button text for some languages that Java does not handle, for which JSword has translations.
  Author:
    DM Smith
  See Also:
    `The GNU General Public License for details.`, Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JOptionPane

      `JOptionPane.AccessibleJOptionPane`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static ActionFactory` | `actions` The actions for this dialog.
    `private static long` | `serialVersionUID` Serialization ID

    - ### Fields inherited from class javax.swing.JOptionPane

      `CANCEL_OPTION, CLOSED_OPTION, DEFAULT_OPTION, ERROR_MESSAGE, icon, ICON_PROPERTY, INFORMATION_MESSAGE, INITIAL_SELECTION_VALUE_PROPERTY, INITIAL_VALUE_PROPERTY, initialSelectionValue, initialValue, INPUT_VALUE_PROPERTY, inputValue, message, MESSAGE_PROPERTY, MESSAGE_TYPE_PROPERTY, messageType, NO_OPTION, OK_CANCEL_OPTION, OK_OPTION, OPTION_TYPE_PROPERTY, options, OPTIONS_PROPERTY, optionType, PLAIN_MESSAGE, QUESTION_MESSAGE, SELECTION_VALUES_PROPERTY, selectionValues, UNINITIALIZED_VALUE, value, VALUE_PROPERTY, WANTS_INPUT_PROPERTY, wantsInput, WARNING_MESSAGE, YES_NO_CANCEL_OPTION, YES_NO_OPTION, YES_OPTION`

    - ### Fields inherited from class javax.swing.JComponent

      `accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

    - ### Fields inherited from class java.awt.Component

      `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CWOptionPane()` Creates a `CWOptionPane` with a test message.
    `CWOptionPane(Object message)` Creates a instance of `CWOptionPane` to display a message using the plain-message message type and the default options delivered by the UI.
    `CWOptionPane(Object message, int messageType)` Creates an instance of `CWOptionPane` to display a message with the specified message type and the default options,
    `CWOptionPane(Object message, int messageType, int optionType)` Creates an instance of `CWOptionPane` to display a message with the specified message type and options.
    `CWOptionPane(Object message, int messageType, int optionType, Icon icon)` Creates an instance of `CWOptionPane` to display a message with the specified message type, options, and icon.
    `CWOptionPane(Object message, int messageType, int optionType, Icon icon, Object[] options)` Creates an instance of `CWOptionPane` to display a message with the specified message type, icon, and options.
    `CWOptionPane(Object message, int messageType, int optionType, Icon icon, Object[] options, Object initialValue)` Creates an instance of `CWOptionPane` to display a message with the specified message type, icon, and options, with the initially-selected option specified.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `private JDialog` | `createDialog(Component parentComponent, String title, int style)`
    `private static Object[]` | `fixOptions(Object[] options, int optionType, int messageType)`
    `private static String` | `getActionName(String key)`
    `static int` | `showConfirmDialog(Component parentComponent, Object message)` Brings up a dialog with the options Yes, No and Cancel; with the title, Select an Option.
    `static int` | `showConfirmDialog(Component parentComponent, Object message, String title, int optionType)` Brings up a dialog where the number of choices is determined by the `optionType` parameter.
    `static int` | `showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType)` Brings up a dialog where the number of choices is determined by the `optionType` parameter, where the `messageType` parameter determines the icon to display.
    `static int` | `showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon)` Brings up a dialog with a specified icon, where the number of choices is determined by the `optionType` parameter.
    `static String` | `showInputDialog(Component parentComponent, Object message)` Shows a question-message dialog requesting input from the user parented to `parentComponent`.
    `static String` | `showInputDialog(Component parentComponent, Object message, Object initialSelectionValue)` Shows a question-message dialog requesting input from the user and parented to `parentComponent`.
    `static String` | `showInputDialog(Component parentComponent, Object message, String title, int messageType)` Shows a dialog requesting input from the user parented to `parentComponent` with the dialog having the title `title` and message type `messageType`.
    `static Object` | `showInputDialog(Component parentComponent, Object message, String title, int messageType, Icon icon, Object[] selectionValues, Object initialSelectionValue)` Prompts the user for input in a blocking dialog where the initial selection, possible selections, and all other options can be specified.
    `static String` | `showInputDialog(Object message)` Shows a question-message dialog requesting input from the user.
    `static String` | `showInputDialog(Object message, Object initialSelectionValue)` Shows a question-message dialog requesting input from the user, with the input value initialized to `initialSelectionValue`.
    `static void` | `showMessageDialog(Component parentComponent, Object message)` Brings up an information-message dialog titled "Message".
    `static void` | `showMessageDialog(Component parentComponent, Object message, String title, int messageType)` Brings up a dialog that displays a message using a default icon determined by the `messageType` parameter.
    `static void` | `showMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icon)` Brings up a dialog displaying a message, specifying all parameters.
    `static int` | `showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue)` Brings up a dialog with a specified icon, where the initial choice is determined by the `initialValue` parameter and the number of choices is determined by the `optionType` parameter.
    `private static int` | `styleFromMessageType(int messageType)`

    - ### Methods inherited from class javax.swing.JOptionPane

      `createDialog, createDialog, createInternalFrame, getAccessibleContext, getDesktopPaneForComponent, getFrameForComponent, getIcon, getInitialSelectionValue, getInitialValue, getInputValue, getMaxCharactersPerLineCount, getMessage, getMessageType, getOptions, getOptionType, getRootFrame, getSelectionValues, getUI, getUIClassID, getValue, getWantsInput, paramString, selectInitialValue, setIcon, setInitialSelectionValue, setInitialValue, setInputValue, setMessage, setMessageType, setOptions, setOptionType, setRootFrame, setSelectionValues, setUI, setValue, setWantsInput, showInternalConfirmDialog, showInternalConfirmDialog, showInternalConfirmDialog, showInternalConfirmDialog, showInternalInputDialog, showInternalInputDialog, showInternalInputDialog, showInternalMessageDialog, showInternalMessageDialog, showInternalMessageDialog, showInternalOptionDialog, updateUI`

    - ### Methods inherited from class javax.swing.JComponent

      `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

    - ### Methods inherited from class java.awt.Container

      `add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree`

    - ### Methods inherited from class java.awt.Component

      `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### actions

          private static ActionFactory actions

      The actions for this dialog.

    - #### serialVersionUID

          private static final long serialVersionUID

      Serialization ID
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CWOptionPane

          public CWOptionPane()

      Creates a `CWOptionPane` with a test message.

    - #### CWOptionPane

          public CWOptionPane(Object message)

      Creates a instance of `CWOptionPane` to display a message using the plain-message message type and the default options delivered by the UI.
      Parameters:
        `message` - the `Object` to display

    - #### CWOptionPane

          public CWOptionPane(Object message,
                      int messageType)

      Creates an instance of `CWOptionPane` to display a message with the specified message type and the default options,
      Parameters:
        `message` - the `Object` to display
        `messageType` - the type of message to be displayed: `ERROR_MESSAGE`, `INFORMATION_MESSAGE`, `WARNING_MESSAGE`, `QUESTION_MESSAGE`, or `PLAIN_MESSAGE`

    - #### CWOptionPane

          public CWOptionPane(Object message,
                      int messageType,
                      int optionType)

      Creates an instance of `CWOptionPane` to display a message with the specified message type and options.
      Parameters:
        `message` - the `Object` to display
        `messageType` - the type of message to be displayed: `ERROR_MESSAGE`, `INFORMATION_MESSAGE`, `WARNING_MESSAGE`, `QUESTION_MESSAGE`, or `PLAIN_MESSAGE`
        `optionType` - the options to display in the pane: `DEFAULT_OPTION`, `YES_NO_OPTION`, `YES_NO_CANCEL_OPTION`, `OK_CANCEL_OPTION`

    - #### CWOptionPane

          public CWOptionPane(Object message,
                      int messageType,
                      int optionType,
                      Icon icon)

      Creates an instance of `CWOptionPane` to display a message with the specified message type, options, and icon.
      Parameters:
        `message` - the `Object` to display
        `messageType` - the type of message to be displayed: `ERROR_MESSAGE`, `INFORMATION_MESSAGE`, `WARNING_MESSAGE`, `QUESTION_MESSAGE`, or `PLAIN_MESSAGE`
        `optionType` - the options to display in the pane: `DEFAULT_OPTION`, `YES_NO_OPTION`, `YES_NO_CANCEL_OPTION`, `OK_CANCEL_OPTION`
        `icon` - the `Icon` image to display

    - #### CWOptionPane

          public CWOptionPane(Object message,
                      int messageType,
                      int optionType,
                      Icon icon,
                      Object[] options)

      Creates an instance of `CWOptionPane` to display a message with the specified message type, icon, and options. None of the options is initially selected.

      The options objects should contain either instances of `Component`s, (which are added directly) or `Strings` (which are wrapped in a `JButton`). If you provide `Component`s, you must ensure that when the `Component` is clicked it messages `setValue` in the created `CWOptionPane`.

      Parameters:
        `message` - the `Object` to display
        `messageType` - the type of message to be displayed: `ERROR_MESSAGE`, `INFORMATION_MESSAGE`, `WARNING_MESSAGE`, `QUESTION_MESSAGE`, or `PLAIN_MESSAGE`
        `optionType` - the options to display in the pane: `DEFAULT_OPTION`, `YES_NO_OPTION`, `YES_NO_CANCEL_OPTION`, `OK_CANCEL_OPTION`
        `icon` - the `Icon` image to display
        `options` - the choices the user can select

    - #### CWOptionPane

          public CWOptionPane(Object message,
                      int messageType,
                      int optionType,
                      Icon icon,
                      Object[] options,
                      Object initialValue)

      Creates an instance of `CWOptionPane` to display a message with the specified message type, icon, and options, with the initially-selected option specified.
      Parameters:
        `message` - the `Object` to display
        `messageType` - the type of message to be displayed: `ERROR_MESSAGE`, `INFORMATION_MESSAGE`, `WARNING_MESSAGE`, `QUESTION_MESSAGE`, or `PLAIN_MESSAGE`
        `optionType` - the options to display in the pane: `DEFAULT_OPTION`, `YES_NO_OPTION`, `YES_NO_CANCEL_OPTION`, `OK_CANCEL_OPTION`
        `icon` - the Icon image to display
        `options` - the choices the user can select
        `initialValue` - the choice that is initially selected; if `null`, then nothing will be initially selected; only meaningful if `options` is used

  - ### Method Detail

    - #### showInputDialog

          public static String showInputDialog(Object message)
                                        throws HeadlessException

      Shows a question-message dialog requesting input from the user. The dialog uses the default frame, which usually means it is centered on the screen.
      Parameters:
        `message` - the `Object` to display
      Throws:
        `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### showInputDialog

          public static String showInputDialog(Object message,
                               Object initialSelectionValue)

      Shows a question-message dialog requesting input from the user, with the input value initialized to `initialSelectionValue`. The dialog uses the default frame, which usually means it is centered on the screen.
      Parameters:
        `message` - the `Object` to display
        `initialSelectionValue` - the value used to initialize the input field

    - #### showInputDialog

          public static String showInputDialog(Component parentComponent,
                               Object message)
                                        throws HeadlessException

      Shows a question-message dialog requesting input from the user parented to `parentComponent`. The dialog is displayed on top of the `Component`'s frame, and is usually positioned below the `Component`.
      Parameters:
        `parentComponent` - the parent `Component` for the dialog
        `message` - the `Object` to display
      Throws:
        `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### showInputDialog

          public static String showInputDialog(Component parentComponent,
                               Object message,
                               Object initialSelectionValue)

      Shows a question-message dialog requesting input from the user and parented to `parentComponent`. The input value will be initialized to `initialSelectionValue`. The dialog is displayed on top of the `Component`'s frame, and is usually positioned below the `Component`.
      Parameters:
        `parentComponent` - the parent `Component` for the dialog
        `message` - the `Object` to display
        `initialSelectionValue` - the value used to initialize the input field

    - #### showInputDialog

          public static String showInputDialog(Component parentComponent,
                               Object message,
                               String title,
                               int messageType)
                                        throws HeadlessException

      Shows a dialog requesting input from the user parented to `parentComponent` with the dialog having the title `title` and message type `messageType`.
      Parameters:
        `parentComponent` - the parent `Component` for the dialog
        `message` - the `Object` to display
        `title` - the `String` to display in the dialog title bar
        `messageType` - the type of message that is to be displayed: `ERROR_MESSAGE`, `INFORMATION_MESSAGE`, `WARNING_MESSAGE`, `QUESTION_MESSAGE`, or `PLAIN_MESSAGE`
      Throws:
        `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### showInputDialog

          public static Object showInputDialog(Component parentComponent,
                               Object message,
                               String title,
                               int messageType,
                               Icon icon,
                               Object[] selectionValues,
                               Object initialSelectionValue)
                                        throws HeadlessException

      Prompts the user for input in a blocking dialog where the initial selection, possible selections, and all other options can be specified. The user will able to choose from `selectionValues`, where `null` implies the user can input whatever they wish, usually by means of a `JTextField`. `initialSelectionValue` is the initial value to prompt the user with. It is up to the UI to decide how best to represent the `selectionValues`, but usually a `JComboBox`, `JList`, or `JTextField` will be used.
      Parameters:
        `parentComponent` - the parent `Component` for the dialog
        `message` - the `Object` to display
        `title` - the `String` to display in the dialog title bar
        `messageType` - the type of message to be displayed: `ERROR_MESSAGE`, `INFORMATION_MESSAGE`, `WARNING_MESSAGE`, `QUESTION_MESSAGE`, or `PLAIN_MESSAGE`
        `icon` - the `Icon` image to display
        `selectionValues` - an array of `Object`s that gives the possible selections
        `initialSelectionValue` - the value used to initialize the input field
      Returns:
        user's input, or `null` meaning the user canceled the input
      Throws:
        `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### showMessageDialog

          public static void showMessageDialog(Component parentComponent,
                               Object message)
                                        throws HeadlessException

      Brings up an information-message dialog titled "Message".
      Parameters:
        `parentComponent` - determines the `Frame` in which the dialog is displayed; if `null`, or if the `parentComponent` has no `Frame`, a default `Frame` is used
        `message` - the `Object` to display
      Throws:
        `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### showMessageDialog

          public static void showMessageDialog(Component parentComponent,
                               Object message,
                               String title,
                               int messageType)
                                        throws HeadlessException

      Brings up a dialog that displays a message using a default icon determined by the `messageType` parameter.
      Parameters:
        `parentComponent` - determines the `Frame` in which the dialog is displayed; if `null`, or if the `parentComponent` has no `Frame`, a default `Frame` is used
        `message` - the `Object` to display
        `title` - the title string for the dialog
        `messageType` - the type of message to be displayed: `ERROR_MESSAGE`, `INFORMATION_MESSAGE`, `WARNING_MESSAGE`, `QUESTION_MESSAGE`, or `PLAIN_MESSAGE`
      Throws:
        `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### showMessageDialog

          public static void showMessageDialog(Component parentComponent,
                               Object message,
                               String title,
                               int messageType,
                               Icon icon)
                                        throws HeadlessException

      Brings up a dialog displaying a message, specifying all parameters.
      Parameters:
        `parentComponent` - determines the `Frame` in which the dialog is displayed; if `null`, or if the `parentComponent` has no `Frame`, a default `Frame` is used
        `message` - the `Object` to display
        `title` - the title string for the dialog
        `messageType` - the type of message to be displayed: `ERROR_MESSAGE`, `INFORMATION_MESSAGE`, `WARNING_MESSAGE`, `QUESTION_MESSAGE`, or `PLAIN_MESSAGE`
        `icon` - an icon to display in the dialog that helps the user identify the kind of message that is being displayed
      Throws:
        `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### showConfirmDialog

          public static int showConfirmDialog(Component parentComponent,
                              Object message)
                                       throws HeadlessException

      Brings up a dialog with the options Yes, No and Cancel; with the title, Select an Option.
      Parameters:
        `parentComponent` - determines the `Frame` in which the dialog is displayed; if `null`, or if the `parentComponent` has no `Frame`, a default `Frame` is used
        `message` - the `Object` to display
      Returns:
        an integer indicating the option selected by the user
      Throws:
        `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### showConfirmDialog

          public static int showConfirmDialog(Component parentComponent,
                              Object message,
                              String title,
                              int optionType)
                                       throws HeadlessException

      Brings up a dialog where the number of choices is determined by the `optionType` parameter.
      Parameters:
        `parentComponent` - determines the `Frame` in which the dialog is displayed; if `null`, or if the `parentComponent` has no `Frame`, a default `Frame` is used
        `message` - the `Object` to display
        `title` - the title string for the dialog
        `optionType` - an int designating the options available on the dialog: `YES_NO_OPTION`, or `YES_NO_CANCEL_OPTION`
      Returns:
        an int indicating the option selected by the user
      Throws:
        `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### showConfirmDialog

          public static int showConfirmDialog(Component parentComponent,
                              Object message,
                              String title,
                              int optionType,
                              int messageType)
                                       throws HeadlessException

      Brings up a dialog where the number of choices is determined by the `optionType` parameter, where the `messageType` parameter determines the icon to display. The `messageType` parameter is primarily used to supply a default icon from the Look and Feel.
      Parameters:
        `parentComponent` - determines the `Frame` in which the dialog is displayed; if `null`, or if the `parentComponent` has no `Frame`, a default `Frame` is used.
        `message` - the `Object` to display
        `title` - the title string for the dialog
        `optionType` - an integer designating the options available on the dialog: `YES_NO_OPTION`, or `YES_NO_CANCEL_OPTION`
        `messageType` - an integer designating the kind of message this is; primarily used to determine the icon from the pluggable Look and Feel: `ERROR_MESSAGE`, `INFORMATION_MESSAGE`, `WARNING_MESSAGE`, `QUESTION_MESSAGE`, or `PLAIN_MESSAGE`
      Returns:
        an integer indicating the option selected by the user
      Throws:
        `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### showConfirmDialog

          public static int showConfirmDialog(Component parentComponent,
                              Object message,
                              String title,
                              int optionType,
                              int messageType,
                              Icon icon)
                                       throws HeadlessException

      Brings up a dialog with a specified icon, where the number of choices is determined by the `optionType` parameter. The `messageType` parameter is primarily used to supply a default icon from the look and feel.
      Parameters:
        `parentComponent` - determines the `Frame` in which the dialog is displayed; if `null`, or if the `parentComponent` has no `Frame`, a default `Frame` is used
        `message` - the Object to display
        `title` - the title string for the dialog
        `optionType` - an int designating the options available on the dialog: `YES_NO_OPTION`, or `YES_NO_CANCEL_OPTION`
        `messageType` - an int designating the kind of message this is, primarily used to determine the icon from the pluggable Look and Feel: `ERROR_MESSAGE`, `INFORMATION_MESSAGE`, `WARNING_MESSAGE`, `QUESTION_MESSAGE`, or `PLAIN_MESSAGE`
        `icon` - the icon to display in the dialog
      Returns:
        an int indicating the option selected by the user
      Throws:
        `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### showOptionDialog

          public static int showOptionDialog(Component parentComponent,
                             Object message,
                             String title,
                             int optionType,
                             int messageType,
                             Icon icon,
                             Object[] options,
                             Object initialValue)
                                      throws HeadlessException

      Brings up a dialog with a specified icon, where the initial choice is determined by the `initialValue` parameter and the number of choices is determined by the `optionType` parameter.

      If `optionType` is `YES_NO_OPTION`, or `YES_NO_CANCEL_OPTION` and the `options` parameter is `null`, then the options are supplied by the look and feel.

      The `messageType` parameter is primarily used to supply a default icon from the look and feel.

      Parameters:
        `parentComponent` - determines the `Frame` in which the dialog is displayed; if `null`, or if the `parentComponent` has no `Frame`, a default `Frame` is used
        `message` - the `Object` to display
        `title` - the title string for the dialog
        `optionType` - an integer designating the options available on the dialog: `YES_NO_OPTION`, or `YES_NO_CANCEL_OPTION`
        `messageType` - an integer designating the kind of message this is, primarily used to determine the icon from the pluggable Look and Feel: `ERROR_MESSAGE`, `INFORMATION_MESSAGE`, `WARNING_MESSAGE`, `QUESTION_MESSAGE`, or `PLAIN_MESSAGE`
        `icon` - the icon to display in the dialog
        `options` - an array of objects indicating the possible choices the user can make; if the objects are components, they are rendered properly; non-`String` objects are rendered using their `toString` methods; if this parameter is `null`, the options are determined by the Look and Feel
        `initialValue` - the object that represents the default selection for the dialog; only meaningful if `options` is used; can be `null`
      Returns:
        an integer indicating the option chosen by the user, or `CLOSED_OPTION` if the user closed the dialog
      Throws:
        `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns `true`
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### createDialog

          private JDialog createDialog(Component parentComponent,
                             String title,
                             int style)
                                throws HeadlessException

      Throws:
        `HeadlessException`

    - #### styleFromMessageType

          private static int styleFromMessageType(int messageType)

    - #### getActionName

          private static String getActionName(String key)

    - #### fixOptions

          private static Object[] fixOptions(Object[] options,
                            int optionType,
                            int messageType)