我想从 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
最佳答案
在返回后,您可以简单地从传递给 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) {
}
关于java - 从 JOptionPane 获取值并使用它们创建类的新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27169392/