да нет подтверждения и события окна - PullRequest
0 голосов
/ 16 октября 2011

У меня есть следующий фрагмент кода:

addWindowListener(new WindowAdapter() {

        @Override
        public void windowClosing(WindowEvent e) {
            int result = JOptionPane.showConfirmDialog(Bookstore.this, "Are you sure to quit?", "Confirm", JOptionPane.YES_NO_OPTION);
            if (result == JOptionPane.YES_OPTION) {
                // release connection resource
                if (bookstoreConnection != null) {
                    bookstoreConnection.closeConnection();
                }
                // JFrame handles close request based on the property
                // set by invoking the setDefaultCloseOperation(...)
                Bookstore.this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            }                
        }
    });

и всякий раз, когда я нажимаю кнопку [x] в правом верхнем углу, рамка исчезает независимо от того, какую опцию я выбрал. В этом случае я хочу знать, как сохранить окно кадра, если я выберу НЕТ опцию. Спасибо!

1 Ответ

1 голос
/ 16 октября 2011

Используйте это setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE) в качестве операции закрытия по умолчанию на вашем подклассе JFrame (я не помню, является ли это значением по умолчанию, если вы явно не добавляете setDefaultCloseOperation(...) с другим значением)

DO_NOTHING_ON_CLOSE (определено в WindowConstants): ничего не делать; требуется программа для обработки операции в окне закрытия метод зарегистрированного объекта WindowListener.

http://download.oracle.com/javase/1.3/docs/api/javax/swing/JFrame.html#setDefaultCloseOperation(int)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...