Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 9

Закрытие окна крестиком

22.06.2013, 15:46. Показов 4743. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Подскажите, пожалуйста, каким образом при закрытии окна нажатием крестика сделать так, чтоб перед тем как окно закроется сначала выполнился бы мой метод. В общем мне нужно, чтоб перед закрытием программы сохранялы бы некоторые данные, а потом бы уже закрывалось.
Заранее спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.06.2013, 15:46
Ответы с готовыми решениями:

Закрытие модального окна нажатием кнопки Cancel
Знаю, очень глупый вопрос, но я с ним столкнулся. Как у меня обстоит дело: создаю кнопку JButton cancelButton = new...

Закрытие окна из фрейма?
День добрый уважаемые! В JavaScript я новичок. Отнеситесь лояльно. У меня не закрывается окно из фрейма. Пробую: (1) window.close...

Можно ли предотвратить закрытие окна или выход из него?
Можно ли предатвратить закрытие окна или выход из него?

8
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
22.06.2013, 17:24
Лучший ответ Сообщение было отмечено как решение

Решение

Java
1
2
3
4
5
6
7
8
Runtime.getRuntime().addShutdownHook(new Thread()
{
    @Override
    public void run()
    {
        save();
    }
});
3
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
22.06.2013, 18:28
@mutagen, что делает этот метод
Java
1
Runtime.getRuntime().addShutdownHook(new Thread()
можете расписать?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
22.06.2013, 18:34
вешает хук на закрытие, перед завершением приложения стартанёт поток и выполнит метод run а в него можно положить вызов своего метода который должен быть вызван до закрытия
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
22.06.2013, 18:37
почему бы просто не впихнуть нужный нам метод перед закрытием и не создавать новый поток?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
22.06.2013, 18:41
доки почитайте http://docs.oracle.com/javase/... ang.Thread)
0
0 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 9
22.06.2013, 20:24  [ТС]
Цитата Сообщение от mutagen Посмотреть сообщение
Java
1
2
3
4
5
6
7
8
Runtime.getRuntime().addShutdownHook(new Thread()
{
    @Override
    public void run()
    {
        save();
    }
});
Спасибо за помощь. Все прекрасно работает. Только не совсем так как мне бы хотелось. Дело в том, что у меня стои не EXIT_ON_CLOSE, а DISPOSE_ON_CLOSE. С exit'ом все работает, а с dispose'ои нет. Возможно ли как-нибудь этоже самое сделать с dispose'ом??
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
22.06.2013, 20:25
@pporubov, если у Вас DISPOSE_ON_CLOSE, то окно закроется но программа будет висеть в процессах.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
23.06.2013, 00:47
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
 
frame.addWindowListener( new WindowAdapter()
{
    public void windowClosing(WindowEvent e)
    {
        JFrame frame = (JFrame)e.getSource();
 
        int result = JOptionPane.showConfirmDialog(
            frame,
            "Are you sure you want to exit the application?",
            "Exit Application",
            JOptionPane.YES_NO_OPTION);
 
        if (result == JOptionPane.YES_OPTION)
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
});
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.06.2013, 00:47
Помогаю со студенческими работами здесь

Закрытие окна крестиком и реакция ADOTable.Modified
Здравствуйте. У меня есть окно, в котором 3 компонента: ADOConnection, ADOTable и DataSource. Поля самой таблицы отображаются в DBEdit и...

Как сделать Закрытие/Открытие элемента, с крестиком?
https://codepen.io/bogdanmaslyanik/pen/MPydzm <div class="alblackover"> <h6 id="form_show" style="padding: 12px 0">Форма...

Пишу программу Быстрые записи и не могу поставить своё действие на закрытие крестиком
Привет всем, пишу на C# прогу в которую можно вставить текст и закрыть и она его сохранит, я уже сделал выход и сохранение по кнопке ESC, с...

Закрытие дочернего окна вызывает закрытие программы
Здравствуйте! Не могу никак разобраться, как сделать так, чтобы дочернее окно при его закрытии не закрывало всю программу. Я читал похожие...

Закрытие одного окна по таймеру с последующем открытием другого окна
Приветствую! Необходимо создать приветственное окно для программы. Сначала должно открываться приветственное окно, висеть примерно 7...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru