模块  java.desktop
软件包  javax.swing

Class JOptionPane

  • 实现的所有接口
    ImageObserverMenuContainerSerializableAccessible

    @JavaBean(defaultProperty="UI",
              description="A component which implements standard dialog box controls.")
    public class JOptionPane
    extends JComponent
    implements Accessible
    JOptionPane可以轻松弹出一个标准对话框,提示用户输入值或通知他们某些内容。 有关使用JOptionPane信息,请参阅“Java教程” How to Make Dialogs部分。

    虽然JOptionPane类可能因为大量方法而显得复杂,但此类的几乎所有用法都是对以下所示的静态showXxxDialog方法之一的单行调用:

    Common JOptionPane method names and their descriptions Method Name Description showConfirmDialog Asks a confirming question, like yes/no/cancel. showInputDialog Prompt for some input. showMessageDialog Tell the user about something that has happened. showOptionDialog The Grand Unification of the above three.
    这些方法中的每一种showInternalXXX一个showInternalXXX风格,它使用内部框架来保存对话框(参见JInternalFrame )。 还定义了多种便捷方法 - 使用不同参数列表的基本方法的重载版本。

    所有对话都是模态的。 每个showXxxDialog方法都会阻止调用方,直到用户的交互完成。

    Common dialog icon message input value option buttons
    其中一个对话框的基本外观与上图类似,尽管各种外观最终都是最终结果的原因。 特别是,外观将调整布局以适应选项窗格的ComponentOrientation属性。

    参数:
    这些方法的参数遵循一致的模式:

    parentComponent
    Defines the Component that is to be the parent of this dialog box. It is used in two ways: the Frame that contains it is used as the Frame parent for the dialog box, and its screen coordinates are used in the placement of the dialog box. In general, the dialog box is placed just below the component. This parameter may be null, in which case a default Frame is used as the parent, and the dialog will be centered on the screen (depending on the L&F).
    message
    A descriptive message to be placed in the dialog box. In the most common usage, message is just a String or String constant. However, the type of this parameter is actually Object. Its interpretation depends on its type:
    Object[]
    An array of objects is interpreted as a series of messages (one per object) arranged in a vertical stack. The interpretation is recursive -- each object in the array is interpreted according to its type.
    Component
    The Component is displayed in the dialog.
    Icon
    The Icon is wrapped in a JLabel and displayed in the dialog.
    others
    The object is converted to a String by calling its toString method. The result is wrapped in a JLabel and displayed.
    messageType
    Defines the style of the message. The Look and Feel manager may lay out the dialog differently depending on this value, and will often provide a default icon. The possible values are:
    • ERROR_MESSAGE
    • INFORMATION_MESSAGE
    • WARNING_MESSAGE
    • QUESTION_MESSAGE
    • PLAIN_MESSAGE
    optionType
    Defines the set of option buttons that appear at the bottom of the dialog box:
    • DEFAULT_OPTION
    • YES_NO_OPTION
    • YES_NO_CANCEL_OPTION
    • OK_CANCEL_OPTION
    You aren't limited to this set of option buttons. You can provide any buttons you want using the options parameter.
    options
    A more detailed description of the set of option buttons that will appear at the bottom of the dialog box. The usual value for the options parameter is an array of Strings. But the parameter type is an array of Objects. A button is created for each object depending on its type:
    Component
    The component is added to the button row directly.
    Icon
    A JButton is created with this as its label.
    other
    The Object is converted to a string using its toString method and the result is used to label a JButton.
    icon
    A decorative icon to be placed in the dialog box. A default value for this is determined by the messageType parameter.
    title
    The title for the dialog box.
    initialValue
    The default selection (input value).

    更改选择后,将调用setValue ,生成PropertyChangeEvent

    如果JOptionPane已配置为所有输入setWantsInput ,则还可以侦听绑定属性JOptionPane.INPUT_VALUE_PROPERTY ,以确定用户何时输入或选择了值。

    当其中一个showXxxDialog方法返回一个整数时,可能的值为:

    • YES_OPTION
    • NO_OPTION
    • CANCEL_OPTION
    • OK_OPTION
    • CLOSED_OPTION
    例子:
    显示错误对话框,显示消息“alert”:
    JOptionPane.showMessageDialog(null, "alert", "alert", JOptionPane.ERROR_MESSAGE);
    显示内容信息对话框,其中包含“信息”消息:
      JOptionPane.showInternalMessageDialog(frame, "information",
                 "information", JOptionPane.INFORMATION_MESSAGE); 
    显示一个信息面板,其中包含选项yes / no和消息'choose one':
      JOptionPane.showConfirmDialog(null,
                 "choose one", "choose one", JOptionPane.YES_NO_OPTION); 
    显示内部信息对话框,其中包含选项yes / no / cancel和消息'please choose one'和标题信息:
      JOptionPane.showInternalConfirmDialog(frame,
                 "please choose one", "information",
                 JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE); 
    显示一个警告对话框,其中包含选项OK,CANCEL,标题'Warning'和消息'单击OK继续':
      Object[] options = { "OK", "CANCEL" };
     JOptionPane.showOptionDialog(null, "Click OK to continue", "Warning",
                 JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
                 null, options, options[0]); 
    显示一个对话框,要求用户输入字符串:
    String inputValue = JOptionPane.showInputDialog("Please input a value");
    显示一个对话框,要求用户选择一个字符串:
      Object[] possibleValues = { "First", "Second", "Third" };
    Object selectedValue = JOptionPane.showInputDialog(null, "Choose one", "Input", JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);
    直接使用:
    要直接创建和使用JOptionPane ,标准模式大致如下:
      JOptionPane pane = new JOptionPane(arguments);
         pane.set.Xxxx(...); // Configure
         JDialog dialog = pane.createDialog(parentComponent, title);
         dialog.show();
         Object selectedValue = pane.getValue();
         if(selectedValue == null)
           return CLOSED_OPTION;
         //If there is not an array of option buttons:
         if(options == null) {
           if(selectedValue instanceof Integer)
              return ((Integer)selectedValue).intValue();
           return CLOSED_OPTION;
         }
         //If there is an array of option buttons:
         for(int counter = 0, maxCounter = options.length;
            counter < maxCounter; counter++) {
            if(options[counter].equals(selectedValue))
            return counter;
         }
         return CLOSED_OPTION; 

    警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy

    警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始, java.beans软件包中添加了对所有JavaBeans java.beans长期存储的支持。 请参阅XMLEncoder

    从以下版本开始:
    1.2
    另请参见:
    JInternalFrameSerialized Form
    • 字段详细信息

      • UNINITIALIZED_VALUE

        public static final Object UNINITIALIZED_VALUE
        表示用户尚未选择值。
      • DEFAULT_OPTION

        public static final int DEFAULT_OPTION
        类型含义外观不应提供任何选项 - 仅使用 JOptionPane的选项。
        另请参见:
        常数字段值
      • YES_NO_OPTION

        public static final int YES_NO_OPTION
        用于 showConfirmDialog类型。
        另请参见:
        常数字段值
      • YES_NO_CANCEL_OPTION

        public static final int YES_NO_CANCEL_OPTION
        用于 showConfirmDialog类型。
        另请参见:
        常数字段值
      • OK_CANCEL_OPTION

        public static final int OK_CANCEL_OPTION
        用于 showConfirmDialog类型。
        另请参见:
        常数字段值
      • YES_OPTION

        public static final int YES_OPTION
        如果选择YES,则从类方法返回值。
        另请参见:
        常数字段值
      • NO_OPTION

        public static final int NO_OPTION
        如果选择NO,则从类方法返回值。
        另请参见:
        常数字段值
      • CANCEL_OPTION

        public static final int CANCEL_OPTION
        如果选择CANCEL,则从类方法返回值。
        另请参见:
        常数字段值
      • OK_OPTION

        public static final int OK_OPTION
        如果选择OK,则返回值表单类方法。
        另请参见:
        常数字段值
      • CLOSED_OPTION

        public static final int CLOSED_OPTION
        如果用户在没有选择任何内容的情况下关闭窗口,则返回类方法的值,这可能会被视为 CANCEL_OPTIONNO_OPTION
        另请参见:
        常数字段值
      • ERROR_MESSAGE

        public static final int ERROR_MESSAGE
        用于错误消息。
        另请参见:
        常数字段值
      • INFORMATION_MESSAGE

        public static final int INFORMATION_MESSAGE
        用于信息消息。
        另请参见:
        常数字段值
      • WARNING_MESSAGE

        public static final int WARNING_MESSAGE
        用于警告消息。
        另请参见:
        常数字段值
      • QUESTION_MESSAGE

        public static final int QUESTION_MESSAGE
        用于提问。
        另请参见:
        常数字段值
      • PLAIN_MESSAGE

        public static final int PLAIN_MESSAGE
        没有使用图标。
        另请参见:
        常数字段值
      • ICON_PROPERTY

        public static final String ICON_PROPERTY
        绑定属性名称为 icon
        另请参见:
        常数字段值
      • MESSAGE_PROPERTY

        public static final String MESSAGE_PROPERTY
        绑定属性名称为 message
        另请参见:
        常数字段值
      • VALUE_PROPERTY

        public static final String VALUE_PROPERTY
        绑定属性名称为 value
        另请参见:
        常数字段值
      • OPTIONS_PROPERTY

        public static final String OPTIONS_PROPERTY
        绑定属性名称为 option
        另请参见:
        常数字段值
      • INITIAL_VALUE_PROPERTY

        public static final String INITIAL_VALUE_PROPERTY
        绑定属性名称为 initialValue
        另请参见:
        常数字段值
      • MESSAGE_TYPE_PROPERTY

        public static final String MESSAGE_TYPE_PROPERTY
        绑定属性名称为 type
        另请参见:
        常数字段值
      • OPTION_TYPE_PROPERTY

        public static final String OPTION_TYPE_PROPERTY
        绑定属性名称为 optionType
        另请参见:
        常数字段值
      • SELECTION_VALUES_PROPERTY

        public static final String SELECTION_VALUES_PROPERTY
        绑定属性名称为 selectionValues
        另请参见:
        常数字段值
      • INITIAL_SELECTION_VALUE_PROPERTY

        public static final String INITIAL_SELECTION_VALUE_PROPERTY
        绑定属性名称为 initialSelectionValue
        另请参见:
        常数字段值
      • INPUT_VALUE_PROPERTY

        public static final String INPUT_VALUE_PROPERTY
        绑定属性名称为 inputValue
        另请参见:
        常数字段值
      • WANTS_INPUT_PROPERTY

        public static final String WANTS_INPUT_PROPERTY
        绑定属性名称为 wantsInput
        另请参见:
        常数字段值
      • icon

        protected transient Icon icon
        窗格中使用的图标。
      • message

        protected transient Object message
        要显示的消息。
      • options

        protected transient Object[] options
        显示给用户的选项。
      • initialValue

        protected transient Object initialValue
        应在 options初始选择的 options
      • messageType

        protected int messageType
        消息类型。
      • optionType

        protected int optionType
        选项类型的一个 DEFAULT_OPTIONYES_NO_OPTIONYES_NO_CANCEL_OPTIONOK_CANCEL_OPTION
      • value

        protected transient Object value
        当前选择的值,将是有效选项,或 UNINITIALIZED_VALUEnull
      • selectionValues

        protected transient Object[] selectionValues
        用户可以选择的值数组。 外观将提供UI组件以从中进行选择。
      • inputValue

        protected transient Object inputValue
        用户输入的值。
      • initialSelectionValue

        protected transient Object initialSelectionValue
        要在 selectionValues选择的初始值。
      • wantsInput

        protected boolean wantsInput
        如果为true,则将向用户提供UI小部件以获取输入。
    • 构造方法详细信息

      • JOptionPane

        public JOptionPane()
        使用测试消息创建 JOptionPane
      • JOptionPane

        public JOptionPane​(Object message)
        创建 JOptionPane的实例以使用纯文本消息类型和UI提供的默认选项显示消息。
        参数
        message - 要显示的 Object
      • JOptionPane

        public JOptionPane​(Object message,
                           int messageType)
        创建 JOptionPane的实例以显示具有指定消息类型和默认选项的消息,
        参数
        message - 要显示 Object
        messageType -要显示的消息的类型: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
      • JOptionPane

        public JOptionPane​(Object message,
                           int messageType,
                           int optionType)
        创建 JOptionPane的实例以显示具有指定消息类型和选项的消息。
        参数
        message - 显示 Object
        messageType -要显示的消息的类型: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        optionType -在窗格中显示的选项: DEFAULT_OPTIONYES_NO_OPTIONYES_NO_CANCEL_OPTIONOK_CANCEL_OPTION
      • JOptionPane

        public JOptionPane​(Object message,
                           int messageType,
                           int optionType,
                           Icon icon)
        创建 JOptionPane的实例以显示具有指定消息类型,选项和图标的消息。
        参数
        message - 要显示的 Object
        messageType -要显示的消息的类型: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        optionType -在窗格中显示的选项: DEFAULT_OPTIONYES_NO_OPTIONYES_NO_CANCEL_OPTIONOK_CANCEL_OPTION
        icon - 要显示的 Icon图像
      • JOptionPane

        public JOptionPane​(Object message,
                           int messageType,
                           int optionType,
                           Icon icon,
                           Object[] options)
        创建JOptionPane的实例以显示具有指定消息类型,图标和选项的消息。 最初未选择任何选项。

        选项对象应包含Component s(直接添加)或Strings (包含在JButton )的JButton 如果您提供Component S,你必须确保当Component点击它的消息setValue在创建JOptionPane

        参数
        message - 要显示 Object
        messageType -要显示的消息的类型: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        optionType -在窗格中显示的选项: DEFAULT_OPTIONYES_NO_OPTIONYES_NO_CANCEL_OPTIONOK_CANCEL_OPTION
        icon - 要显示的 Icon图像
        options - 用户可以选择的选项
      • JOptionPane

        public JOptionPane​(Object message,
                           int messageType,
                           int optionType,
                           Icon icon,
                           Object[] options,
                           Object initialValue)
        创建 JOptionPane的实例以显示具有指定消息类型,图标和选项的消息,并指定最初选择的选项。
        参数
        message - 显示 Object
        messageType -要显示的消息的类型: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        optionType -在窗格中显示的选项: DEFAULT_OPTIONYES_NO_OPTIONYES_NO_CANCEL_OPTIONOK_CANCEL_OPTION
        icon - 要显示的图标图像
        options - 用户可以选择的选项
        initialValue - 最初选择的选项; 如果是null ,则最初不会选择任何内容; 仅在使用options时才有意义
    • 方法详细信息

      • showInputDialog

        public static String showInputDialog​(Object message)
                                      throws HeadlessException
        显示请求用户输入的问题消息对话框。 该对话框使用默认框架,这通常意味着它在屏幕上居中。
        参数
        message - 要显示的 Object
        结果
        用户的输入
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        GraphicsEnvironment.isHeadless()
      • showInputDialog

        public static String showInputDialog​(Object message,
                                             Object initialSelectionValue)
        显示请求用户输入的问题消息对话框,输入值初始化为initialSelectionValue 该对话框使用默认框架,这通常意味着它在屏幕上居中。
        参数
        message - 显示 Object
        initialSelectionValue - 用于初始化输入字段的值
        结果
        用户的输入
        从以下版本开始:
        1.4
      • showInputDialog

        public static String showInputDialog​(Component parentComponent,
                                             Object message)
                                      throws HeadlessException
        显示一个问题消息对话框,请求来自用户的输入作为parentComponent父级。 该对话框显示在Component框架的顶部,通常位于Component下方。
        参数
        parentComponent - 对话框的父级 Component
        message - 显示 Object
        结果
        用户的输入
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        GraphicsEnvironment.isHeadless()
      • showInputDialog

        public static String showInputDialog​(Component parentComponent,
                                             Object message,
                                             Object initialSelectionValue)
        显示一个问题消息对话框,请求用户输入并以父级为parentComponent 输入值将初始化为initialSelectionValue 该对话框显示在Component框架的顶部,通常位于Component下方。
        参数
        parentComponent - 对话框的父级 Component
        message - 要显示 Object
        initialSelectionValue - 用于初始化输入字段的值
        结果
        用户的输入
        从以下版本开始:
        1.4
      • showInputDialog

        public static String showInputDialog​(Component parentComponent,
                                             Object message,
                                             String title,
                                             int messageType)
                                      throws HeadlessException
        显示一个对话框,请求来自用户的输入为 parentComponent ,对话框的标题为 title ,消息类型为 messageType
        参数
        parentComponent - 对话框的父级 Component
        message - 要显示的 Object
        title - 要在对话框标题栏中显示的 String
        messageType -要显示的是消息的类型: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        结果
        用户的输入
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        GraphicsEnvironment.isHeadless()
      • showInputDialog

        public static Object showInputDialog​(Component parentComponent,
                                             Object message,
                                             String title,
                                             int messageType,
                                             Icon icon,
                                             Object[] selectionValues,
                                             Object initialSelectionValue)
                                      throws HeadlessException
        在阻止对话框中提示用户输入,其中可以指定初始选择,可能的选择和所有其他选项。 用户可以选择selectionValues ,其中null暗示用户可以输入他们想要的任何内容,通常是通过JTextField initialSelectionValue是提示用户的初始值。 它是由UI决定如何最好地代表selectionValues ,但通常是JComboBoxJList ,或JTextField将被使用。
        参数
        parentComponent - 对话框的父级 Component
        message - 要显示的 Object
        title - 要在对话框标题栏中显示的 String
        messageType -要显示的消息的类型: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        icon - 要显示的 Icon图像
        selectionValues -的阵列 Object s表示给出可能选择
        initialSelectionValue - 用于初始化输入字段的值
        结果
        用户输入,或 null表示用户取消了输入
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        GraphicsEnvironment.isHeadless()
      • showMessageDialog

        public static void showMessageDialog​(Component parentComponent,
                                             Object message)
                                      throws HeadlessException
        打开一个标题为“消息”的信息消息对话框。
        参数
        parentComponent - 确定显示对话框的Frame ; 如果null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要显示的 Object
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        GraphicsEnvironment.isHeadless()
      • showMessageDialog

        public static void showMessageDialog​(Component parentComponent,
                                             Object message,
                                             String title,
                                             int messageType)
                                      throws HeadlessException
        打开一个对话框,使用由 messageType参数确定的默认图标显示消息。
        参数
        parentComponent - 确定显示对话框的Frame ; 如果null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要显示的 Object
        title - 对话框的标题字符串
        messageType -要显示的消息的类型: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        GraphicsEnvironment.isHeadless()
      • showMessageDialog

        public static void showMessageDialog​(Component parentComponent,
                                             Object message,
                                             String title,
                                             int messageType,
                                             Icon icon)
                                      throws HeadlessException
        打开一个显示消息的对话框,指定所有参数。
        参数
        parentComponent - 确定显示对话框的Frame ; 如果null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要显示 Object
        title - 对话框的标题字符串
        messageType -要显示的消息的类型: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        icon - 在对话框中显示的图标,帮助用户识别正在显示的消息类型
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        GraphicsEnvironment.isHeadless()
      • showConfirmDialog

        public static int showConfirmDialog​(Component parentComponent,
                                            Object message)
                                     throws HeadlessException
        使用选项YesNoCancel打开一个对话框; 使用标题, 选择一个选项
        参数
        parentComponent - 确定显示对话框的Frame ; 如果是null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要显示的 Object
        结果
        一个整数,表示用户选择的选项
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        GraphicsEnvironment.isHeadless()
      • showConfirmDialog

        public static int showConfirmDialog​(Component parentComponent,
                                            Object message,
                                            String title,
                                            int optionType)
                                     throws HeadlessException
        打开一个对话框,其中选项的数量由 optionType参数确定。
        参数
        parentComponent - 确定显示对话框的Frame ; 如果null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要显示的 Object
        title - 对话框的标题字符串
        optionType -一个int指定对话框上的可用选项: YES_NO_OPTIONYES_NO_CANCEL_OPTION ,或 OK_CANCEL_OPTION
        结果
        一个int,表示用户选择的选项
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        GraphicsEnvironment.isHeadless()
      • showConfirmDialog

        public static int showConfirmDialog​(Component parentComponent,
                                            Object message,
                                            String title,
                                            int optionType,
                                            int messageType)
                                     throws HeadlessException
        调出其中的选项的数目由所确定的一个对话框optionType参数,其中messageType参数确定要显示的图标。 messageType参数主要用于从外观提供默认图标。
        参数
        parentComponent - 确定显示对话框的Frame ; 如果是null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 显示 Object
        title - 对话框的标题字符串
        optionType -一个整数指定对话框上的可用选项: YES_NO_OPTIONYES_NO_CANCEL_OPTION ,或 OK_CANCEL_OPTION
        messageType - 指定此消息类型的整数; 主要用于确定从所述可插入外观的图标: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或PLAIN_MESSAGE
        结果
        一个整数,表示用户选择的选项
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        GraphicsEnvironment.isHeadless()
      • showConfirmDialog

        public static int showConfirmDialog​(Component parentComponent,
                                            Object message,
                                            String title,
                                            int optionType,
                                            int messageType,
                                            Icon icon)
                                     throws HeadlessException
        打开带有指定图标的对话框,其中选项数由optionType参数确定。 messageType参数主要用于从外观提供默认图标。
        参数
        parentComponent - 确定显示对话框的Frame ; 如果是null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要显示的对象
        title - 对话框的标题字符串
        optionType -一个int指定对话框上的可用选项: YES_NO_OPTIONYES_NO_CANCEL_OPTION ,或 OK_CANCEL_OPTION
        messageType -一个int指定消息种类,主要用于确定来自插入外观的图标: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        icon - 要在对话框中显示的图标
        结果
        一个int,表示用户选择的选项
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        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
        打开带有指定图标的对话框,其中初始选择由initialValue参数确定,选项数由optionType参数确定。

        如果optionTypeYES_NO_OPTIONYES_NO_CANCEL_OPTIONoptions参数是null ,则外观提供选项。

        messageType参数主要用于从外观提供默认图标。

        参数
        parentComponent - 确定显示对话框的Frame ; 如果是null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要显示 Object
        title - 对话框的标题字符串
        optionType -一个整数指定对话框上的可用选项: DEFAULT_OPTIONYES_NO_OPTIONYES_NO_CANCEL_OPTION ,或 OK_CANCEL_OPTION
        messageType -的整数指定消息种类,主要用于确定来自插入外观的图标: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        icon - 要在对话框中显示的图标
        options - 一组对象,指示用户可以做出的选择; 如果对象是组件,则它们被正确呈现; String对象使用其toString方法呈现; 如果此参数为null ,则选项由外观确定
        initialValue - 表示对话框默认选择的对象; 只有在使用options时才有意义; 可以是null
        结果
        表示用户选择的选项的整数,如果用户关闭对话框, CLOSED_OPTION
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        GraphicsEnvironment.isHeadless()
      • createDialog

        public JDialog createDialog​(Component parentComponent,
                                    String title)
                             throws HeadlessException
        创建并返回JDialog包装this中心位于parentComponent中的parentComponent title是返回的对话框的标题。 返回的JDialog将无法由用户调整大小,但是程序可以在JDialog实例上调用setResizable来更改此属性。 返回的JDialog将被设置为一旦关闭,或者用户单击其中一个按钮,将相应地设置optionpane的value属性并关闭对话框。 每次使对话框可见时,它都会将选项窗格的value属性重置为JOptionPane.UNINITIALIZED_VALUE以确保用户的后续操作正确关闭对话框。
        参数
        parentComponent - 确定显示对话框的框架; 如果parentComponent没有Frame ,则使用默认值Frame
        title - 对话框的标题字符串
        结果
        包含此实例的新 JDialog
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        另请参见:
        GraphicsEnvironment.isHeadless()
      • createDialog

        public JDialog createDialog​(String title)
                             throws HeadlessException
        创建并返回具有指定标题的新的无父对象JDialog 返回的JDialog将无法由用户调整大小,但是程序可以在JDialog实例上调用setResizable来更改此属性。 返回的JDialog将被设置为一旦关闭,或者用户单击其中一个按钮,将相应地设置optionpane的value属性并关闭对话框。 每次使对话框可见时,它都会将选项窗格的value属性重置为JOptionPane.UNINITIALIZED_VALUE以确保用户的后续操作正确关闭对话框。
        参数
        title - 对话框的标题字符串
        结果
        包含此实例的新 JDialog
        异常
        HeadlessException - 如果 GraphicsEnvironment.isHeadless返回 true
        从以下版本开始:
        1.6
        另请参见:
        GraphicsEnvironment.isHeadless()
      • showInternalMessageDialog

        public static void showInternalMessageDialog​(Component parentComponent,
                                                     Object message)
        打开内部确认对话框面板。 该对话框是一个标题为“消息”的信息消息对话框。
        参数
        parentComponent - 确定显示对话框的Frame ; 如果null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要显示的对象
      • showInternalMessageDialog

        public static void showInternalMessageDialog​(Component parentComponent,
                                                     Object message,
                                                     String title,
                                                     int messageType)
        打开一个内部对话框面板,使用由 messageType参数确定的默认图标显示消息。
        参数
        parentComponent - 确定显示对话框的Frame ; 如果是null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 显示 Object
        title - 对话框的标题字符串
        messageType -要显示的消息的类型: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
      • showInternalMessageDialog

        public static void showInternalMessageDialog​(Component parentComponent,
                                                     Object message,
                                                     String title,
                                                     int messageType,
                                                     Icon icon)
        打开一个显示消息的内部对话框面板,指定所有参数。
        参数
        parentComponent - 确定显示对话框的Frame ; 如果null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要显示 Object
        title - 对话框的标题字符串
        messageType -要显示的消息的类型: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        icon - 在对话框中显示的图标,帮助用户识别正在显示的消息类型
      • showInternalConfirmDialog

        public static int showInternalConfirmDialog​(Component parentComponent,
                                                    Object message)
        打开一个内部对话框面板,其中包含选项YesNoCancel ; 使用标题, 选择一个选项
        参数
        parentComponent - 确定显示对话框的Frame ; 如果是null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要显示的 Object
        结果
        一个整数,表示用户选择的选项
      • showInternalConfirmDialog

        public static int showInternalConfirmDialog​(Component parentComponent,
                                                    Object message,
                                                    String title,
                                                    int optionType)
        打开一个内部对话框面板,其中的选项数由 optionType参数确定。
        参数
        parentComponent - 确定显示对话框的Frame ; 如果null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要在对话框中显示的对象; Component对象呈现为Component ; String对象呈现为字符串; 其它的目的将被转换为String使用toString方法
        title - 对话框的标题字符串
        optionType - 指定对话框中可用选项的整数: YES_NO_OPTIONYES_NO_CANCEL_OPTION
        结果
        一个整数,表示用户选择的选项
      • showInternalConfirmDialog

        public static int showInternalConfirmDialog​(Component parentComponent,
                                                    Object message,
                                                    String title,
                                                    int optionType,
                                                    int messageType)
        调出其中的选项数由所确定的内部对话框面板optionType参数,其中messageType参数确定要显示的图标。 messageType参数主要用于从外观提供默认图标。
        参数
        parentComponent - 确定显示对话框的Frame ; 如果null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要在对话框中显示的对象; Component对象呈现为Component ; String对象呈现为字符串; 其它的目的将被转换为String使用toString方法
        title - 对话框的标题字符串
        optionType - 指定对话框中可用选项的整数: YES_NO_OPTIONYES_NO_CANCEL_OPTION
        messageType -的整数指定消息种类,主要用于确定来自插入外观的图标: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        结果
        一个整数,表示用户选择的选项
      • showInternalConfirmDialog

        public static int showInternalConfirmDialog​(Component parentComponent,
                                                    Object message,
                                                    String title,
                                                    int optionType,
                                                    int messageType,
                                                    Icon icon)
        打开带有指定图标的内部对话框面板,其中选项数由optionType参数确定。 messageType参数主要用于从外观提供默认图标。
        参数
        parentComponent - 确定显示对话框的Frame ; 如果null ,或者如果parentComponent没有Frame,则使用默认值Frame
        message - 要在对话框中显示的对象; Component对象呈现为Component ; String对象呈现为字符串; 其它的目的将被转换为String使用toString方法
        title - 对话框的标题字符串
        optionType - 指定对话框中可用选项的整数: YES_NO_OPTIONYES_NO_CANCEL_OPTION
        messageType -的整数指定消息种类,主要用于确定来自插入外观的图标: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        icon - 要在对话框中显示的图标
        结果
        一个整数,表示用户选择的选项
      • showInternalOptionDialog

        public static int showInternalOptionDialog​(Component parentComponent,
                                                   Object message,
                                                   String title,
                                                   int optionType,
                                                   int messageType,
                                                   Icon icon,
                                                   Object[] options,
                                                   Object initialValue)
        打开具有指定图标的内部对话框面板,其中初始选择由initialValue参数确定,选项数由optionType参数确定。

        如果optionTypeYES_NO_OPTIONYES_NO_CANCEL_OPTIONoptions参数是null ,那么选项由外观提供。

        messageType参数主要用于从外观提供默认图标。

        参数
        parentComponent - 确定显示对话框的Frame ; 如果null ,或者如果parentComponent没有Frame ,则使用默认值Frame
        message - 要在对话框中显示的对象; Component对象呈现为Component ; String对象呈现为字符串。 其它的目的将被转换为String使用toString方法
        title - 对话框的标题字符串
        optionType - 指定对话框中可用选项的整数: YES_NO_OPTIONYES_NO_CANCEL_OPTION
        messageType - 指定此消息类型的整数; 主要用于确定从所述可插入外观的图标: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或PLAIN_MESSAGE
        icon - 要在对话框中显示的图标
        options - 一个对象数组,指示用户可以做出的选择; 如果对象是组件,则它们被正确呈现; String对象使用其toString方法呈现; 如果此参数为null ,则选项由外观确定
        initialValue - 表示对话框的默认选择的对象; 只有在使用options时才有意义; 可以是null
        结果
        一个整数,表示用户选择的选项,如果用户关闭了Dialog, CLOSED_OPTION
      • showInternalInputDialog

        public static String showInternalInputDialog​(Component parentComponent,
                                                     Object message)
        显示内部问题消息对话框,请求来自用户的输入为parentComponent父级。 该对话框显示在Component的框架中,通常位于Component下方。
        参数
        parentComponent - 对话框的父级 Component
        message - 要显示的 Object
        结果
        用户的输入
      • showInternalInputDialog

        public static String showInternalInputDialog​(Component parentComponent,
                                                     Object message,
                                                     String title,
                                                     int messageType)
        显示一个内部对话框,请求来自用户的输入为 parentComponent ,对话框的标题为 title ,消息类型为 messageType
        参数
        parentComponent - 对话框的父级 Component
        message - 要显示的 Object
        title - 要在对话框标题栏中显示的 String
        messageType - 要显示的消息类型:ERROR_MESSAGE,INFORMATION_MESSAGE,WARNING_MESSAGE,QUESTION_MESSAGE或PLAIN_MESSAGE
        结果
        用户的输入
      • showInternalInputDialog

        public static Object showInternalInputDialog​(Component parentComponent,
                                                     Object message,
                                                     String title,
                                                     int messageType,
                                                     Icon icon,
                                                     Object[] selectionValues,
                                                     Object initialSelectionValue)
        在阻塞内部对话框中提示用户输入,其中可以指定初始选择,可能的选择和所有其他选项。 用户可以选择selectionValues ,其中null暗示用户可以输入他们想要的任何内容,通常是通过JTextField initialSelectionValue是提示用户的初始值。 它是由UI决定如何最好地代表selectionValues ,但通常是JComboBoxJList ,或JTextField将被使用。
        参数
        parentComponent - 对话框的父级 Component
        message - 要显示的 Object
        title - 要在对话框标题栏中显示的 String
        messageType -要显示的消息的类型: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        icon - 要显示的 Icon图像
        selectionValues -的阵列 Objects即给出可能选择
        initialSelectionValue - 用于初始化输入字段的值
        结果
        用户输入,或 null表示用户取消了输入
      • createInternalFrame

        public JInternalFrame createInternalFrame​(Component parentComponent,
                                                  String title)
        创建并返回JInternalFrame的实例。 使用指定的标题创建内部框架,并包装JOptionPane 返回的JInternalFrame被添加到JDesktopPane祖先parentComponent ,或者组件为父,如果其祖先不是JDesktopPane ,或者如果parentComponent没有父,则抛出RuntimeException
        参数
        parentComponent - 内部框架的父级 Component
        title - 要在框架的标题栏中显示的 String
        结果
        a JInternalFrame包含 JOptionPane
        异常
        RuntimeException - 如果 parentComponent没有有效的父级
      • getDesktopPaneForComponent

        public static JDesktopPane getDesktopPaneForComponent​(Component parentComponent)
        返回指定组件的桌面窗格。
        参数
        parentComponent - 检查桌面的 Component
        结果
        所述 JDesktopPane包含该组件,或 null如果组件是 null或不具有祖先是 JInternalFrame
      • setRootFrame

        public static void setRootFrame​(Frame newRootFrame)
        设置要用于未提供框架的类方法的框架。

        注意:建议您提供有效的父级,而不是使用此方法。

        参数
        newRootFrame - 要使用的默认值 Frame
      • getUI

        public OptionPaneUI getUI()
        返回实现此组件的L&F的UI对象。
        重写:
        getUIJComponent
        结果
        OptionPaneUI对象
      • updateUI

        public void updateUI()
        来自UIManager的L&F已更改的通知。 使用UIManager的最新版本替换当前UI对象。
        重写:
        updateUI在类 JComponent
        另请参见:
        JComponent.updateUI()
      • setIcon

        @BeanProperty(preferred=true,
                      description="The option pane\'s type icon.")
        public void setIcon​(Icon newIcon)
        设置要显示的图标。 如果null ,则外观不提供图标。
        参数
        newIcon - 要显示的 Icon
        另请参见:
        getIcon()
      • getValue

        public Object getValue()
        返回用户选择的值。 UNINITIALIZED_VALUE暗示用户尚未做出选择, null表示用户关闭窗口null选择任何内容。 否则返回的值将是此对象中定义的选项之一。
        结果
        Object由用户选择 UNINITIALIZED_VALUE如果用户尚未作出一个选择,或 null如果用户关闭了窗口不作选择
        另请参见:
        setValue(java.lang.Object)
      • setOptions

        @BeanProperty(description="The option pane\'s options objects.")
        public void setOptions​(Object[] newOptions)
        设置此窗格显示的选项。 如果newOptions的元素是Component ,则会将其直接添加到窗格中,否则会为该元素创建一个按钮。
        参数
        newOptions -的阵列 Objects创造的按钮,用户可以点击,或任意 Components添加到窗格
        另请参见:
        getOptions()
      • setInitialValue

        @BeanProperty(preferred=true,
                      description="The option pane\'s initial value object.")
        public void setInitialValue​(Object newInitialValue)
        设置要启用的初始值 - 最初显示窗格时具有焦点的 Component
        参数
        newInitialValue - 获得初始键盘焦点的 Object
        另请参见:
        getInitialValue()
      • setMessageType

        @BeanProperty(preferred=true,
                      description="The option pane\'s message type.")
        public void setMessageType​(int newType)
        设置选项窗格的消息类型。 外观使用消息类型来确定要显示的图标(如果未提供)以及可能如何布置parentComponent
        参数
        newType -一个整数,指定的消息种类来显示: ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGE ,或 PLAIN_MESSAGE
        异常
        RuntimeException - 如果 newType不是上面列出的合法值之一
        另请参见:
        getMessageType()
      • getMessageType

        public int getMessageType()
        返回消息类型。
        结果
        一个指定消息类型的整数
        另请参见:
        setMessageType(int)
      • setOptionType

        @BeanProperty(preferred=true,
                      description="The option pane\'s option type.")
        public void setOptionType​(int newType)
        设置要显示的选项。 外观使用选项类型来确定要显示的按钮(除非提供了选项)。
        参数
        newType -一个整数,指定的选项的L&F是显示: DEFAULT_OPTIONYES_NO_OPTIONYES_NO_CANCEL_OPTION ,或 OK_CANCEL_OPTION
        异常
        RuntimeException - 如果 newType不是上面列出的合法值之一
        另请参见:
        getOptionType()setOptions(java.lang.Object[])
      • getOptionType

        public int getOptionType()
        返回显示的选项类型。
        结果
        一个整数,指定用户可选择的选项
        另请参见:
        setOptionType(int)
      • setSelectionValues

        @BeanProperty(description="The option pane\'s selection values.")
        public void setSelectionValues​(Object[] newValues)
        设置窗格的输入选择值,该窗格为用户提供可供选择的项列表。 (UI提供了一个用于选择其中一个值的小部件。) null值意味着用户可以输入他们想要的任何内容,通常是通过JTextField

        wantsInput设置为true。 使用setInitialSelectionValue指定最初选择的值。 启用窗格后,将inputValue设置为用户选择的值。

        参数
        newValues - 要显示的用户的数组 Objects (通常在列表或组合框中),用户可以从中进行选择
        另请参见:
        setWantsInput(boolean)setInitialSelectionValue(java.lang.Object)getSelectionValues()
      • getMaxCharactersPerLineCount

        @BeanProperty(bound=false)
        public int getMaxCharactersPerLineCount()
        返回消息中一行上的最大字符数。 默认是返回Integer.MAX_VALUE 可以通过在子类中重写此方法来更改该值。
        结果
        一个整数,给出一行上的最大字符数
      • setWantsInput

        @BeanProperty(preferred=true,
                      description="Flag which allows the user to input a value.")
        public void setWantsInput​(boolean newValue)
        设置wantsInput属性。 如果newValue为true,则提供父级为parentComponent的输入组件(如文本字段或组合框)以允许用户输入值。 如果getSelectionValues返回非null数组,则输入值是该数组中的对象之一。 否则输入值是用户输入的任何值。

        这是一个绑定属性。

        参数
        newValue - 如果为true,则提供父级为 parentComponent的输入组件以允许用户输入值。
        另请参见:
        setSelectionValues(java.lang.Object[])setInputValue(java.lang.Object)
      • getWantsInput

        public boolean getWantsInput()
        返回 wantsInput属性的值。
        结果
        如果将提供输入组件,则为true
        另请参见:
        setWantsInput(boolean)
      • selectInitialValue

        public void selectInitialValue()
        请求选择初始值,将焦点设置为初始值。 在包含选项窗格的窗口可见后,应调用此方法。
      • paramString

        protected String paramString()
        返回此JOptionPane的字符串表示JOptionPane 此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
        重写:
        paramString ,类 JComponent
        结果
        JOptionPane的字符串表示 JOptionPane
      • getAccessibleContext

        @BeanProperty(bound=false,
                      expert=true,
                      description="The AccessibleContext associated with this option pane")
        public AccessibleContext getAccessibleContext()
        返回与此JOptionPane关联的AccessibleContext 对于选项窗格中, AccessibleContext需要一个形式AccessibleJOptionPane 如有必要,将创建一个新的AccessibleJOptionPane实例。
        Specified by:
        getAccessibleContext ,界面 Accessible
        重写:
        getAccessibleContext在类 Component
        结果
        一个AccessibleJOptionPane,用作此AccessibleJOptionPane的AccessibleContext