Могу ли я использовать операторы IF с диалогом сообщений в Java?

Итак, я нахожусь в тупике с этим фрагментом кода уже около недели, я хочу, чтобы код отправлял сообщение об ошибке, когда пользователь выбирает "Нет" или "Отмена", однако я получаю сообщение об ошибке, которое говорит мне, что НЕТ и ОТМЕНА не являются переменными. У кого-нибудь есть какие-либо предложения относительно того, как я могу преодолеть эту проблему?

int mc = JOptionPane.QUESTION_MESSAGE;
    int bc = JOptionPane.YES_NO_CANCEL_OPTION;

    int ch = JOptionPane.showConfirmDialog (null, "Select:", "Title", bc, mc);

    if (bc == NO)
    {
        JOptionPane.showInputDialog("Sorry, you cannot continue without agreeing to the rules.");
    }
    else if (bc == CANCEL)
    {
        JOptionPane.showInputDialog("Sorry, you cannot continue without agreeing to the rules.");
    }
    else
    {
        JOptionPane.showInputDialog("Thank you, you may continue!");
    }

1 ответ

Решение

Это все объясняется в Javadoc JOptionPane.

В коде, который вы дали, кнопка, которую вы нажали, определяется возвращаемым значением из showConfirmDialog, которому вы присвоили chне bc, В вашем случае логика должна быть

if (ch == JOptionPane.NO_OPTION) {
    ...
}
else if (ch == JOptionPane.CANCEL_OPTION) {
    ...
}
else {
    ...
}
Другие вопросы по тегам