我想从JOptionPane中检索用户值,然后我想将这些值用作创建另一个类的新实例的参数。 这是我的代码:
protected void addCar()
{
String[] size = {"Large","Small"};
String[] value = {"Valuable","Not Valuable"};
JTextField regNum = new JTextField();
JList carSize = new JList(size);
JList carValue = new JList(value);
carValue.getSelectedValue();
System.out.println(carSize.getSelectedValue());
Object[] fields =
{
"Registration Number", regNum,
"Car Size", carSize,
"Car Value", carValue
};
JOptionPane.showOptionDialog(rootPane, fields, "Wish To Continue?",
JOptionPane.DEFAULT_OPTION, JOptionPane.YES_NO_OPTION,
null, null, regNum);
}//end addCar
答案 0 :(得分:0)
您只需从返回后传递给showOptionDialog()
的组件中获取用户输入。
有一点需要注意:showOptionDialog()
的第4个参数是选项类型,因此它应该是YES_NO_OPTION
而不是DEFAULT_OPTION
。第5个参数是您可以传递INFORMATION_MESSAGE
的消息类型。其他参数与您的情况无关。
见这个例子:
// Your code here to create components
JOptionPane.showOptionDialog(null, fields, "Wish To Continue?",
JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null, null);
System.out.println(fields[0] + ": " + regNum.getText());
System.out.println(fields[2] + ": " + carSize.getSelectedValue());
System.out.println(fields[4] + ": " + carValue.getSelectedValue());
输出:
Registration Number: 1234
Car Size: Large
Car Value: Not Valuable
如果您想使用这些值来创建另一个类的实例,您可以像这样简单地传递它们:
OtherClass oc = new OtherClass(regNum.getText(), carSize.getSelectedValue(),
carValue.getSelectedValue());
这假设你的OtherClass
有一个像这样的构造函数:
public OtherClass(String regNum, String carSize, String carValue) {
}