Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Закрытие окон в Swing / 12 сообщений из 12, страница 1 из 1
21.04.2010, 14:33:37
    #36590255
Щиче
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окон в Swing
Есть JFrame, который должен при закрытии сохранять свои размеры. Я использую для отслеживания закрытия класс windowAdapter. Окно можно закрыть щелчком на кнопке (setVisible(false);) и обычным виндовым способом. Метод windowClosing срабатывает только если я закрываю окно последним способом, а на setVisible он не срабатывает.
Метод windowClosed срабатывает лишь на dispose, а мне это неудобно.

Как отследить именно исчезновение окна с экрана вне зависимости как оно закрылось?
...
Рейтинг: 0 / 0
21.04.2010, 14:36:08
    #36590266
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окон в Swing
windowDeactivated ещё есть.
...
Рейтинг: 0 / 0
21.04.2010, 14:44:16
    #36590282
Щиче
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окон в Swing
BlazkowiczwindowDeactivated ещё есть.
Неаккуратно выходит. Срабатывает, но срабатывает и когда я переключаюсь на другое окно. А это уже лишнее действие. Нет другого способа?
...
Рейтинг: 0 / 0
21.04.2010, 14:48:20
    #36590297
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окон в Swing
немного не понятно. setVisible(false) лишь скрывает окно, чтобы его можно было потом показать, не создавая заново. Не уверен что называется "обычным виндовым способом", то по закрытию окна оно вроде как и диспозится. Поэтому вопрос в том почему бы не вызывать метод dispose()?
...
Рейтинг: 0 / 0
21.04.2010, 14:49:52
    #36590300
Щиче
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окон в Swing
Теперь понял, спасибо. В Дельфе закрытие окна - исчезновение его с экрана.
...
Рейтинг: 0 / 0
21.04.2010, 14:55:54
    #36590313
Щиче
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окон в Swing
А еще маленький вопрос. Если я окну сделал dispose - то класс JFrame у меня уцелеет? Те поля, которые мною добавлены надо помнить после его исчезновения с экрана. Само окно мне больше ненужно, а эти поля надо обработать.
...
Рейтинг: 0 / 0
21.04.2010, 15:00:23
    #36590324
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окон в Swing
Класс точно уцелеет. Он в rt.jar зашит намертво. Ну а на счет экземпляра, то всё то же самое как и для других объектов. Пока есть ссылки, всё доступно. dispose() кроме всего прочего и освобождает нативные ресурсы.
...
Рейтинг: 0 / 0
21.04.2010, 15:04:58
    #36590335
Щиче
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окон в Swing
Спасибо за помощь, все получилось как нужно.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
06.08.2013, 23:17:52
    #38357547
Edgar_Prima
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окон в Swing
Кстати, а при нажатии закрывающего крестика можно дернуть свою логику? Например закрыть диалог крестиком и чтобы сработал так же мой метод?
...
Рейтинг: 0 / 0
07.08.2013, 01:03:36
    #38357610
Паша01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окон в Swing
Код: java
1.
2.
3.
4.
5.
6.
public class InfoFrame extends WindowAdapter{
    public void windowClosing(WindowEvent e){
        //тут быть твоя кода, а потом оно закрываться или хз чо О_О
        System.exit(0);
   }
}
...
Рейтинг: 0 / 0
07.08.2013, 01:07:59
    #38357613
Паша01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окон в Swing
сорри, немного не точно, а то запутаешься
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class InfoFrameListener extends WindowAdapter{
    public void windowClosing(WindowEvent e){
        //тут быть твоя кода, а потом оно закрываться или хз чо О_О
        System.exit(0);
   }
}

public class InfoFrame extends JFrame{
    public InfoFrame(){
        WindowListener listener = new InfoFrameListener();
        frame.addWindowListener(listener);
    } 
}
...
Рейтинг: 0 / 0
08.08.2013, 23:22:48
    #38360291
Edgar_Prima
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окон в Swing
Паша01, за пример спасибо, удалось прицепить код к главному фрейму, а к диалогу не вышло...

WindowListener windowListener = new InfoFrameListener();
addFeaturesDialog.addWindowListener(windowListener);

Диалоги создаются в отдельном классе... Много в каких местах использовал эти строки, а листенер все не слушает диалог...

Вправьте мне голову или руки)))
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Закрытие окон в Swing / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]