Module  java.desktop
软件包  javax.swing

Class JOptionPane

  • All Implemented Interfaces:
    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 描述
    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风格,它使用一个内部框架来保存对话框(见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); 
    显示选项是/否和消息'选择一个的信息面板:
      JOptionPane.showConfirmDialog(null,
                 "choose one", "choose one", JOptionPane.YES_NO_OPTION); 
    显示内部信息对话框,其中包含选项是/否/取消,并显示“请选择一个”和标题信息:
      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开始,支持所有JavaBeans的长期存储已经添加到java.beans包中。 请参阅XMLEncoder

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

      • UNINITIALIZED_VALUE

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

        public static final int DEFAULT_OPTION
        类型含义Look and Feel不应提供任何选项 - 只能使用 JOptionPane的选项。
        另请参见:
        Constant Field Values
      • YES_NO_OPTION

        public static final int YES_NO_OPTION
        用于 showConfirmDialog类型。
        另请参见:
        Constant Field Values
      • YES_NO_CANCEL_OPTION

        public static final int YES_NO_CANCEL_OPTION
        类型用于 showConfirmDialog
        另请参见:
        Constant Field Values
      • OK_CANCEL_OPTION

        public static final int OK_CANCEL_OPTION
        类型用于 showConfirmDialog
        另请参见:
        Constant Field Values
      • YES_OPTION

        public static final int YES_OPTION
        如果选择“是”,则从类方法返回值。
        另请参见:
        Constant Field Values
      • NO_OPTION

        public static final int NO_OPTION
        如果选择NO,则从类方法返回值。
        另请参见:
        Constant Field Values
      • CANCEL_OPTION

        public static final int CANCEL_OPTION
        如果选择CANCEL,则从类方法返回值。
        另请参见:
        Constant Field Values
      • OK_OPTION

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

        public static final int CLOSED_OPTION
        如果用户在没有选择任何东西的情况下关闭窗口,则从类方法返回值,这可能会被视为 CANCEL_OPTIONNO_OPTION
        另请参见:
        Constant Field Values
      • ERROR_MESSAGE

        public static final int ERROR_MESSAGE
        用于错误消息。
        另请参见:
        Constant Field Values
      • INFORMATION_MESSAGE

        public static final int INFORMATION_MESSAGE
        X-
        另请参见:
        Constant Field Values
      • WARNING_MESSAGE

        public static final int WARNING_MESSAGE
        用于警告消息。
        另请参见:
        Constant Field Values
      • QUESTION_MESSAGE

        public static final int QUESTION_MESSAGE
        用于问题。
        另请参见:
        Constant Field Values
      • PLAIN_MESSAGE

        public static final int PLAIN_MESSAGE
        没有使用图标。
        另请参见:
        Constant Field Values
      • MESSAGE_PROPERTY

        public static final String MESSAGE_PROPERTY
        绑定属性名称为 message
        另请参见:
        Constant Field Values
      • INITIAL_VALUE_PROPERTY

        public static final String INITIAL_VALUE_PROPERTY
        绑定属性名称为 initialValue
        另请参见:
        Constant Field Values
      • MESSAGE_TYPE_PROPERTY

        public static final String MESSAGE_TYPE_PROPERTY
        绑定属性名称为 type
        另请参见:
        Constant Field Values
      • OPTION_TYPE_PROPERTY

        public static final String OPTION_TYPE_PROPERTY
        绑定属性名称为 optionType
        另请参见:
        Constant Field Values
      • SELECTION_VALUES_PROPERTY

        public static final String SELECTION_VALUES_PROPERTY
        绑定属性名称为 selectionValues
        另请参见:
        Constant Field Values
      • INITIAL_SELECTION_VALUE_PROPERTY

        public static final String INITIAL_SELECTION_VALUE_PROPERTY
        绑定属性名称为 initialSelectionValue
        另请参见:
        Constant Field Values
      • INPUT_VALUE_PROPERTY

        public static final String INPUT_VALUE_PROPERTY
        绑定属性名称为 inputValue
        另请参见:
        Constant Field Values
      • WANTS_INPUT_PROPERTY

        public static final String WANTS_INPUT_PROPERTY
        绑定属性名称为 wantsInput
        另请参见:
        Constant Field Values
      • 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输入任何他们想要的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
        启动对话框,选择取消 ; 标题为“ 选择选项”
        参数
        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中心在parentComponentparentComponent的框架。 title是返回对话框的标题。 返回的JDialog将无法由用户调整大小,但程序可以在JDialog实例上调用setResizable来更改此属性。 返回的JDialog将被设置为一旦关闭,或者用户单击其中一个按钮,将选择选项窗格的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将被设置为一旦关闭,或者用户单击其中一个按钮,则选项框的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)
        启动一个内部对话面板,选择取消 ; 标题为“ 选择选项”
        参数
        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_OPTION ,或YES_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
        结果
        指示用户选择的选项的整数,如果用户关闭对话框, 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输入任何他们想要的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则抛出RuntimeException
        参数
        parentComponent - 内部框架的母版 Component
        title - 要显示在框架的标题栏中的 String
        结果
        一个 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对象。
        重写:
        updateUIJComponent
        另请参见:
        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意味着用户关闭窗口,选择任何东西。 否则返回的值将是此对象中定义的选项之一。
        结果
        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)
        设置要显示的选项。 Look and Feel使用选项类型来确定要显示的按钮(除非提供选项)。
        参数
        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值意味着用户可以通过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为真,则提供其父为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
        重写:
        paramStringJComponent
        结果
        这个 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
        重写:
        getAccessibleContextComponent
        结果
        一个AccessibleJOptionPane,用作AccessibleJOptionPane的AccessibleContext