Могу ли я использовать операторы 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 {
...
}