如何将if语句添加到JOptionPane

时间:2015-04-13 03:13:40

标签: java swing joptionpane

我正在尝试为项目制作游戏,我需要帮助。我创建了一个对话框,向用户显示两个选项。他们可以选择"使用汽车"或者他们可以选择" walk"。我如何进一步编码,以便在他们选择一个选项后,会发生一些事情。例如,如果他们选择"使用汽车"它将回归"良好的选择"而如果他们选择" walk"它将返回"糟糕的选择"。

public void travel ()
{
  Object [] options = { "Use the car", "Walk" };
  JOptionPane.showOptionDialog(null, //Component parentComponent
                           "How do you want to get to Jim's?", //Object message,
                           "Transportation Method", //String title
                           JOptionPane.YES_NO_OPTION, //int optionType
                           JOptionPane.INFORMATION_MESSAGE, //int messageType
                           null, options, options [0]); //Icon icon, 
 if(options == 0 ){
 System.out.println ("Test Option 1");//Use car was chosen
}else{
System.out.println ("Test Option 2");//Walk was chosen
}
}

这是我的代码到目前为止但是我收到一条错误消息"错误:无法比较的类型:java.lang.Object []和int"。

我真的很感谢你的帮助。提前致谢

2 个答案:

答案 0 :(得分:4)

JOptionPane.showOptionDialog将返回“表示用户选择的选项的整数,如果用户关闭对话框,则返回CLOSED_OPTION”

您需要指定返回值并使用它......

int result = JOptionPane.showOptionDialog(...);
if (result == 0) {
} else if (...

有关详细信息,请参阅How to Make Dialogs

答案 1 :(得分:3)

JOptionPane.showOptionDialog返回一个整数,表示用户选择的选项,如果用户关闭了对话框,则返回CLOSED_OPTION。

因此您需要存储showOptionDialog

的结果
int result = JOptionPane.showOptionDialog(null, //Component parentComponent
                           "How do you want to get to Jim's?", //Object message,
                           "Transportation Method", //String title
                           JOptionPane.YES_NO_OPTION, //int optionType
                           JOptionPane.INFORMATION_MESSAGE, //int messageType
                           null, options, options [0]); //Icon icon, 
if(result == 0) System.out.println ("Test Option 1");
else System.out.println ("Test Option 2");