我目前正在使用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]);

最佳答案

JOptionPane.showOptionDialog将返回一个int,指示用户选择的选项的索引。

也就是说,如果用户选择Rematch,它将返回0,如果用户选择Exit,则将返回1,如果用户选择Reset Players,则将返回2

您可以使用if语句,但坦率地说,switch可能同样有用...

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;
}


您可能会发现How to use dialogs内容丰富

10-05 22:50