Ошибка в JOptionPane.showConfirmDialog?

Я хочу запросить у пользователя подтверждение, когда он захочет закрыть окно фрейма, например:

addWindowListener(new WindowAdapter()
{
    public void windowClosing(WindowEvent e)
    {
        if (JOptionPane.showConfirmDialog(null, "Are you sure you want to abort the game?",
            "Really quit?", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)
        dispose();
    }
});

Появляется диалоговое окно, но оно закрывается независимо от того, нажимаю я кнопку "да", "нет" или закрываю окно. Это какая-то ошибка или я действительно упускаю что-то простое здесь? Я использую Eclipse на OS X с Java 1.6.0.13.

1 ответ

Решение

Вы должны установить кадр, чтобы ничего не делать при закрытии, чтобы контролировать закрытие:

 setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
Другие вопросы по тегам