【问题标题】:Adding a JTextField into a JOptionPane: ShowOptionDialog将 JTextField 添加到 JOptionPane 中:ShowOptionDialog
【发布时间】:2015-05-14 19:39:30
【问题描述】:

我想知道是否可以将 JTextField 添加到 ShowOptionDialog 框。

     int optionChosen = JOptionPane.showOptionDialog(finishPayInput,     
     dialogPanel, "The Title", JOptionPane.NO_OPTION,      
     JOptionPane.QUESTION_MESSAGE, null, options , options[0]); 

当我运行程序时,会显示对话框,但不显示 JTextField。

【问题讨论】:

  • JTextField 在哪里?
  • @Jens 就在前面:finishPayInput

标签: java dialog jtextfield joptionpane


【解决方案1】:

您不能将文本字段添加到JOptionPane.showOptionDialog 第一个参数是父组件而不是子组件。

documentation

public static int showOptionDialog(Component parentComponent, 对象消息, 字符串标题, 整数选项类型, 整数消息类型, 图标图标, 对象[] 选项, 对象初始值) 抛出 HeadlessException

打开一个带有指定图标的对话框,其中初始选择是 由 initialValue 参数确定,选择的数量为 由 optionType 参数确定。如果 optionType 是 YES_NO_OPTION 或 YES_NO_CANCEL_OPTION 并且 options 参数是 null,则选项由外观提供。

messageType 参数主要用于提供默认图标 从外观和感觉。参数:parentComponent - 确定 显示对话框的框架;如果为空,或者如果 parentComponent 没有 Frame,使用默认 Frame 消息 - 要显示的对象title - dialogoptionType 的标题字符串 - 一个整数,指定对话框中可用的选项: DEFAULT_OPTION、YES_NO_OPTION、YES_NO_CANCEL_OPTION 或 OK_CANCEL_OPTIONmessageType - 指定类型的整数 这是消息,主要用于从 可插入的外观和感觉:ERROR_MESSAGE、INFORMATION_MESSAGE、 WARNING_MESSAGE、QUESTION_MESSAGE 或 PLAIN_MESSAGEicon - 图标 在对话框中显示options - 一个对象数组,指示 用户可以做出的可能选择;如果对象是组件, 它们被正确渲染;非字符串对象使用 他们的 toString 方法;如果此参数为 null,则选项为 由 Look 和 FeelinitialValue 确定 - 对象 表示对话框的默认选择;只有当 使用选项;可以为null返回:表示选项的整数 由用户选择,如果用户关闭了 CLOSED_OPTION dialogThrows:HeadlessException - 如果 GraphicsEnvironment.isHeadless 返回 true 另请参阅:GraphicsEnvironment.isHeadless()

【讨论】:

    【解决方案2】:

    当然可以。 最简单的解决方案:

    JTextField txt = new JTextField();
    JOptionPane.showOptionDialog(null, finishPayInput, "The Title", JOptionPane.NO_OPTION,
                    JOptionPane.QUESTION_MESSAGE, null, null, null);
    

    但是,如果您只想显示JTextField(以获取用户输入),最好使用JOptionPane.showInputDialog

    JOptionPane.showInputDialog(null, "Insert value: ", "The title", JOptionPane.QUESTION_MESSAGE);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-19
      • 2012-12-07
      • 1970-01-01
      • 2012-07-02
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多