JoptionPane Gettting Да Опция, даже если я нажимаю Enter On Нет

Я работаю с Swing Application. и в одном из моих приложений, когда я помещаю некоторый код в событие оконного закрытия.

try {
    int dialog = JOptionPane.showConfirmDialog(
      null,
      "are you sure?",
      "Warning",
      JOptionPane.YES_NO_OPTION,
      JOptionPane.QUESTION_MESSAGE
    );
    if (dialog == JOptionPane.YES_OPTION) {
        System.out.println("Close system.");
        System.exit(0);
    } else if (dialog == JOptionPane.NO_OPTION) {
       System.out.println("do not Close system.");
    }
} catch (Exception ex) {
    ex.printStackTrace();
}

и, как я даю вариант с пробелом и так же, как ни одна кнопка на месте, он работает нормально. но когда я попытался сделать то же самое на входе. опция принимает все время да, даже если я нажимаю нет, она принимает да и окно закрывается.

так как я могу предотвратить это. и добиться того, что я хочу сделать?Посмотреть это изображение

1 ответ

Решение

Это поведение GUI клавиши Enter против клавиши пробела. Вы можете использовать OK_CANCEL_OPTION, так как OK больше ассоциируется с Enter, и может потребовать использовать Enter для "Отмена".

Другие вопросы по тегам