如何获取从JOptionPane.showMessageDialog中选择的选项的值?

时间:2014-08-03 09:49:53

标签: java swing joptionpane japplet game-development

我正在制作一个java游戏。这是我的一段代码,我有一个问题。

如何获取所选选项的值(无论索引值或字符串值)? 我必须稍后在我的代码中使用它,例如if(n="5 point game") { do this}

newgame=new JButton("NEW GAME");
newgame.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
      Object[] options = {"5 point game",
            "Non stop game"};
      int n = JOptionPane.showOptionDialog(newgame,
                                           "Choose a mode to play ",
                                           "New Game",
                                            JOptionPane.YES_NO_OPTION,
                                            JOptionPane.QUESTION_MESSAGE,
                                            null,     //do not use a custom Icon
                                            options,  //the titles of buttons
                                            options[0]); //default button title
}
});

1 个答案:

答案 0 :(得分:1)

您的选项必须按顺序排序,因为按钮没有自定义选项。在您的情况下,这意味着options[0]已映射到JOptionPane.YES_OPTIONoptions[1]已映射到JOptionPane.NO_OPTION

对于您的代码,您可以使用如下的if语句:

if (n == JOptionPane.YES_OPTION) {
    // 5 point game
}
else if (n == JOptionPane.NO_OPTION) {
    // non stop game
}
else {
    // the user closed the dialog without clicking an button
}

另见this example