0

現在、ユーザーにいくつかの選択肢を表示するために joptionpane を使用しています。クリックされたボタンに基づいて特定のアクション (関数の呼び出しなど) を実行するにはどうすればよいですか?

Object[] options = {"Rematch",
                "Exit",
        "Reset Players"};
        JOptionPane.showOptionDialog(frame,
                "Please pick an option",
                        "Chess",
                        JOptionPane.YES_NO_CANCEL_OPTION,
                        JOptionPane.QUESTION_MESSAGE,
                        null,
                        options,
                        options[2]);
4

1 に答える 1

2

JOptionPane.showOptionDialogintユーザーが選択したオプションのインデックスを示すを返します。

つまり、ユーザーが を選択Rematchすると が返され0、ユーザーが を選択Exitすると が返さ1れ、ユーザーが を選択Reset Playersすると が返されます。2

ステートメントを使用することもできますが、if率直に言って、switchおそらく a も同じくらい便利です...

int result = JOptionPane.showOptionDialog(frame,
            "Please pick an option",
                    "Chess",
                    JOptionPane.YES_NO_CANCEL_OPTION,
                    JOptionPane.QUESTION_MESSAGE,
                    null,
                    options,
                    options[2]);

switch (result) {
    case 0:
        // Rematch
        break;
    case 1:
        // Exit
        break;
    case 2:
        // Reset players...
        break;
}

ダイアログの使い方が参考になるかもしれません

于 2013-09-16T05:44:35.130 に答える