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

Java 如何获取从JOptionPane.showMessageDialog中选择的选项的值?,java,swing,joptionpane,japplet,game-development,Java,Swing,Joptionpane,Japplet,Game Development,我正在做一个java游戏。这是我的一段代码,我有一个问题 如何获取所选选项的值(无论是索引值还是字符串值)? 我必须在以后的代码中使用它,例如if(n=“5点游戏”){do this} newgame=new JButton("NEW GAME"); newgame.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { Object[] options = {"5 po

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

如何获取所选选项的值(无论是索引值还是字符串值)? 我必须在以后的代码中使用它,例如
if(n=“5点游戏”){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
}
});

必须对选项进行排序,因为按钮没有自定义选项。在您的情况下,这意味着
options[0]
映射到
JOptionPane。YES\u选项
options[1]
映射到
JOptionPane。NO\u选项

对于您的代码,您可以使用如下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
}
另见