Java 如何获取包含三个文本字段的JOptionPane
我想知道如何从三个输入对话框中创建messageBox 像这样:Java 如何获取包含三个文本字段的JOptionPane,java,swing,joptionpane,Java,Swing,Joptionpane,我想知道如何从三个输入对话框中创建messageBox 像这样: JOptionPane.showInputMessageDialog("Enter your FirstName"); JOptionPane.showInputMessageDialog("Enter your MiddleName"); JOptionPane.showInputMessageDialog("Enter your LastName"); 但是我希望一条消息有三个输入框。您不能使用JOptionPane来实现这
JOptionPane.showInputMessageDialog("Enter your FirstName");
JOptionPane.showInputMessageDialog("Enter your MiddleName");
JOptionPane.showInputMessageDialog("Enter your LastName");
但是我希望一条消息有三个输入框。您不能使用
JOptionPane
来实现这一点。创建一个JDialog
,并向其中添加三个JTextField
。调用setVisible(true)
时,JDialog
会阻止调用者,因此很容易创建一个对话框,等待用户输入后再返回。showInputMessageDialog
及其兄弟是创建简单“标准”对话框的简单方法。对于更复杂的对话框,我非常确定您必须将JDialog
或诸如此类的子类化。构建一个JPanel(supose它的名称为inputPanel),其中包含三个要输入的JText字段,然后执行以下操作:
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
}
正如Telcontar所建议的,您可以将Swing组件(如JPanel)添加到选项窗格中。因此,很容易利用按钮的自动创建,而不是通过构建自己的JDialog从头开始创建按钮
然而,有一个小问题。焦点将放在第一个按钮上,而不是面板的第一个组件上。要解决此问题,您可以尝试中提供的解决方案。您可以在此处找到标准Java教程示例:
示例只有一个文本框,但示例足够清晰,您可以扩展它。不,不是。这就是焦点问题。你能详细说明一下吗?