0

基本上我有显示对话框并允许用户在 2 到 4 个玩家之间进行选择的代码。它工作正常,但是我希望能够控制“确定”和“取消”按钮的作用,但我不知道如何访问它们。单击“确定”按钮时,我想调用一个方法,如果单击取消,我将终止程序(System.exit(0))。另外,如何检查用户是否单击了对话框上角的“x”?

public void numPlayersDialog()
{
    Object[] possibilities = {"Two Players", "Three Players", "Four Players"};
    String s = (String)JOptionPane.showInputDialog(
                    null,
                    "Enter the number of Players\n",
                    "Initial Dialog",
                    JOptionPane.PLAIN_MESSAGE,
                    null,
                    possibilities,
                    "Two Players");


        if(s.equals("Two Players"))
        {
            setNumOfPlayers(2);
        }
        else if (s.equals("Three Players"))
        {
            setNumOfPlayers(3);
        }
        else
        {
            setNumOfPlayers(4);
        }
}

我对 Java 中的 GUI 东西相当陌生,所以任何帮助都将不胜感激。谢谢

4

2 回答 2

0

这是javadoc所说的:

回报:

用户的输入,或 null 表示用户取消了输入

因此,如果返回值为 null,则表示用户单击了“取消”或关闭了对话框。如果结果不为空,则表示用户单击了确定。

于 2013-03-23T15:34:48.267 回答
0

你可以这样做:

if (s == null) {/////////////mean you click on the Cancel button
        System.exit(0);
    } else {////////////mean you click on OK button

        if (s.equals("Two Players")) {
            setNumOfPlayers(2);
        } else if (s.equals("Three Players")) {
            setNumOfPlayers(3);
        } else {
            setNumOfPlayers(4);
        }
    }
于 2013-03-23T15:45:42.600 回答