Class JideOptionPane

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class JideOptionPane extends JOptionPane
JideOptionPane is an enhanced version of JOptionPane.

This component is still in beta, thus we didn't include the UIDefault needed by this component into LookAndFeelFactory by default. If you want to use it, please refer to JideOptionPaneDemo's getDemoPanel method where we add all necessary UIDefaults using UIDefaultCustomizer.

See Also:
  • Field Details

    • DETAILS_PROPERTY

      public static final String DETAILS_PROPERTY
      Bound property name for details.
      See Also:
    • TITLE_PROPERTY

      public static final String TITLE_PROPERTY
      Bound property name for title.
      See Also:
    • CLOSE_OPTION

      public static final int CLOSE_OPTION
      A new type for the option pane to have only the close button.
      See Also:
  • Constructor Details

    • JideOptionPane

      public JideOptionPane()
    • JideOptionPane

      public JideOptionPane(Object message)
    • JideOptionPane

      public JideOptionPane(Object message, int messageType)
    • JideOptionPane

      public JideOptionPane(Object message, int messageType, int optionType)
    • JideOptionPane

      public JideOptionPane(Object message, int messageType, int optionType, Icon icon)
    • JideOptionPane

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

      public JideOptionPane(Object message, int messageType, int optionType, Icon icon, Object[] options, Object initialValue)
  • Method Details

    • initComponents

      protected void initComponents()
    • setOptionType

      public void setOptionType(int newType)
      Overrides the method in JOptionPane to allow a new option - CLOSE_OPTION.
      Overrides:
      setOptionType in class JOptionPane
      Parameters:
      newType - the type of the option pane.
    • setDetails

      public void setDetails(Object details)
      Sets the details object. The object can be a string or a component. If it is a string, it will be put into a JTextArea. If it is a component, it will be used directly. As long as the value is not null, a "Details" button will be added to button panel allowing you to show or hide the details panel.
      Parameters:
      details - the details.
    • getDetails

      public Object getDetails()
      Gets the details object. The object can be a string or a component. If it is a string, it will be put into a JTextArea. If it is a component, it will be used directly. As long as the value is not null, a "Details" button will be added to button panel allowing you to show or hide the details panel.
      Returns:
      the details object.
    • getTitle

      public Object getTitle()
      Gets the title of the option pane.
      Returns:
      the title of the option pane.
    • setTitle

      public void setTitle(Object title)
      Sets the title of the option pane.
      Parameters:
      title - the new title of the option pane.
    • setDetailsVisible

      public void setDetailsVisible(boolean visible)
      Sets the details component visible. Please note that you need to call this method before the option pane is shown. The visible flag is actually stored on a static field so if you set one option pane visible, all option panes' details component will be visible.
      Parameters:
      visible - true or false.
    • getResourceString

      public String getResourceString(String key)
      Gets the localized string from resource bundle. Subclass can override it to provide its own string. Available keys are defined in buttons.properties that begin with "Button.".
      Parameters:
      key - the resource string key
      Returns:
      the localized string.
    • isDetailsVisible

      public boolean isDetailsVisible()
      Checks if the details component is visible.
      Returns:
      true if visible. Otherwise false.
    • setLocale

      public void setLocale(Locale l)
      Overrides:
      setLocale in class Component
    • 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:
    • 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
      Since:
      1.4
    • 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:
    • 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
      Since:
      1.4
    • 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:
    • 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 Objects 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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, YES_NO_CANCEL_OPTION, or OK_CANCEL_OPTION
      Returns:
      an int indicating the option selected by the user
      Throws:
      HeadlessException - if GraphicsEnvironment.isHeadless returns true
      See Also:
    • 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, YES_NO_CANCEL_OPTION, or OK_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:
    • 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, YES_NO_CANCEL_OPTION, or OK_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:
    • 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: DEFAULT_OPTION, YES_NO_OPTION, YES_NO_CANCEL_OPTION, or OK_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:
    • createDialog

      public JDialog createDialog(Component parentComponent, String title) throws HeadlessException
      Creates and returns a new JDialog wrapping this centered on the parentComponent in the parentComponent's frame. title is the title of the returned dialog. The returned JDialog will not be resizable by the user, however programs can invoke setResizable on the JDialog instance to change this property. The returned JDialog will be set up such that once it is closed, or the user clicks on one of the buttons, the optionpane's value property will be set accordingly and the dialog will be closed. Each time the dialog is made visible, it will reset the option pane's value property to JOptionPane.UNINITIALIZED_VALUE to ensure the user's subsequent action closes the dialog properly.
      Overrides:
      createDialog in class JOptionPane
      Parameters:
      parentComponent - determines the frame in which the dialog is displayed; if the parentComponent has no Frame, a default Frame is used
      title - the title string for the dialog
      Returns:
      a new JDialog containing this instance
      Throws:
      HeadlessException - if GraphicsEnvironment.isHeadless returns true
      See Also:
    • createDialog

      public JDialog createDialog(String title) throws HeadlessException
      Creates and returns a new parentless JDialog with the specified title. The returned JDialog will not be resizable by the user, however programs can invoke setResizable on the JDialog instance to change this property. The returned JDialog will be set up such that once it is closed, or the user clicks on one of the buttons, the optionpane's value property will be set accordingly and the dialog will be closed. Each time the dialog is made visible, it will reset the option pane's value property to JOptionPane.UNINITIALIZED_VALUE to ensure the user's subsequent action closes the dialog properly.
      Overrides:
      createDialog in class JOptionPane
      Parameters:
      title - the title string for the dialog
      Returns:
      a new JDialog containing this instance
      Throws:
      HeadlessException - if GraphicsEnvironment.isHeadless returns true
      Since:
      1.6
      See Also:
    • getFrameForComponent

      public static Frame getFrameForComponent(Component parentComponent) throws HeadlessException
      Returns the specified component's Frame.
      Parameters:
      parentComponent - the Component to check for a Frame
      Returns:
      the Frame that contains the component, or getRootFrame if the component is null, or does not have a valid Frame parent
      Throws:
      HeadlessException - if GraphicsEnvironment.isHeadless returns true
      See Also: