Ошибка в 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);