我想知道是否有可能在JOptionPane.showInputDialog中放入多个输入然后获取用户输入,如果用户为其中一个问题提供了错误的输入,则向他们提供错误,要求他们重新输入再次输入该特定数据。
例如,在输入中我想要问题;
所以不要像这样对每个问题都有一个JOptionPane.showInputDialog:
int timeout;
do {
String timeoutinputbyuser = JOptionPane.showInputDialog("How many times have to been out? between 1-10.");
timeout = Integer.parseInt(timeoutinputbyuser);
} while (timeout < 1 || timeout > 10);
我希望将所有问题都集中在一起,并在用户提出任何问题时提供合适的错误。
答案 0 :(得分:6)
不,输入对话框只接受一个输入区域。
将组件放在JPanel
中,并将其显示在JOptionPane.showMessageDialog(..)
中。请注意,您可以拥有更好的组件:
JSpinner
。JRadioButton
ButtonGroup
中的对象,用于选择3 ..
答案 1 :(得分:1)
试试这个
JTextField field1 = new JTextField();
JTextField field2 = new JTextField();
JTextField field3 = new JTextField();
JTextField field4 = new JTextField();
JTextField field5 = new JTextField();
Object[] message = {
"Input value 1:", field1,
"Input value 2:", field2,
"Input value 3:", field3,
"Input value 4:", field4,
"Input value 5:", field5,
};
int option = JOptionPane.showConfirmDialog(parent, message, "Enter all your values", JOptionPane.OK_CANCEL_OPTION);
if (option == JOptionPane.OK_OPTION)
{
String value1 = field1.getText();
String value2 = field2.getText();
String value3 = field3.getText();
String value4 = field4.getText();
String value5 = field5.getText();
}