如何获得带有三个文本字段的JOptionPane

时间:2010-04-28 13:07:26

标签: java swing joptionpane

我想知道如何从三个输入对话框中执行messageBox。

像这样:

JOptionPane.showInputMessageDialog("Enter your FirstName");
JOptionPane.showInputMessageDialog("Enter your MiddleName");
JOptionPane.showInputMessageDialog("Enter your LastName");

但我希望一条消息有三个输入框。

5 个答案:

答案 0 :(得分:3)

使用要输入的三个JtextField构建一个JPanel(将其命名为inputPanel),然后执行此操作:

if (JOptionPane.YES_OPTION == JOptionPane.showconfirmDialog(
    parentComponent, inputPanel, "Enter your data", JOptionPane.YES_NO_OPTION) {

    // retrieve data from the JTextFields and do things

} else {

    // User close the dialog, do things... or not

}

答案 1 :(得分:1)

JOptionPane无法做到这一点。创建JDialog并向其添加三个JTextField。当您调用JDialog时,setVisible(true)将阻止调用者,因此在返回之前创建一个等待用户输入的对话框很容易。

答案 2 :(得分:1)

showInputMessageDialog及其兄弟们是简单的方法来制作一个简单的“标准”对话框。对于更复杂的对话框,我很确定你必须继承JDialog等。

答案 3 :(得分:1)

正如Telcontar建议您可以将Swing组件(如JPanel)添加到选项窗格中。所以很容易利用按钮的自动创建,而不是通过构建自己的JDialog从头开始。

然而,有一个小问题。重点将放在第一个按钮上,而不是面板的第一个组件上。要解决此问题,您可以尝试Dialog Focus中提供的解决方案。

答案 4 :(得分:-1)

您可以在此处找到标准的Java Tutorial示例:

Click Here to Open the example java file

该示例只有一个文本框,但示例足够清晰,可以扩展它。