Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как отловить закрытие формы? хочу убить работающие потоки в этом окне 
:(
    Опции темы
СерегаГоляков
  Дата 17.5.2010, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Всё супер :)
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.4.2010
Где: НСК

Репутация: нет
Всего: нет



Нажатием кнопки на одной форме, я вывожу на экран другую MyPanel

Код

class RabFig extends JFrame //класс RabFig наследуется от JFrame (наше окошко)
{
    public RabFig()  //конструктор класса
       {
        add(new MyPanel()); //метод, выводит нашу панельку на экран
        pack();             // пинает менеджер компоновки, дабы он пересчитал позиции 
       }                    //всех вложенных визуальных компонентов
    public static void main()//ф-я MAIN()
       {new RabFig().setVisible(true);}//отображение окна со всеми параметрами
}


А когда я его закрываю виндоусовским крестиком, что происходит?
просто происходит .setVisible(false); ?? - т.к. например значение спидометра меняется даже еси окно закрыто.
И как мне отловить закрытие формы??

Это сообщение отредактировал(а) СерегаГоляков - 17.5.2010, 12:26
--------------------
Список всех полезных программ в ОДНОЙ программеhttps://sites.google.com/site/coolprogramms...latnyh-programm...Пьяные белазисты в карьереhttp://www.youtube.com/watch?v=6FGNGMwxJZ4
PM WWW   Вверх
AntonSaburov
Дата 17.5.2010, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 118



Посмотреть метод addWindowListener и сам интерфейс WindowListener. Еще можно глянуть класс WindowAdapter как реализацию интерфейса.
PM MAIL WWW ICQ   Вверх
aleksandy
Дата 18.5.2010, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 260
Регистрация: 17.12.2006

Репутация: 1
Всего: 5



В конструкторе класса добавь вот это
Код

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Это если тебе не нужно больше ничего делать, просто завершить приложение. Иначе - последовать совету AntonSaburov-а.
PM   Вверх
soulcub
Дата 20.5.2010, 06:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 2.2.2010
Где: Винница, Украина

Репутация: 2
Всего: 2



Если не уверен, что при удалении окна, сборщик мусора его подотрёт, делай dispose() вручную и будет тебе счастье.
Код

        frame.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

        frame.addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                frame.dispose();
            }
        });

--------------------
Так давай же, поспеши!Отыскать СВОЙ куб души!
PM MAIL ICQ   Вверх
СерегаГоляков
Дата 20.5.2010, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Всё супер :)
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.4.2010
Где: НСК

Репутация: нет
Всего: нет



Наверное я неправильно выразился))))

Основное окно открывает одно неосновное кнопкой СТАРТ.

В неосновном прорисовывается вращение фигуры.
Затем, стандартным крестиком  закрываю неосновное.
user posted image
Но у мя в основном окне спидометр все равно измеряет скорость вращения фигуры кот была в неосновном окне, а окно я уже закрыл.
user posted image
Т.е. моя фигура все равно меняет координаты , но уже нигде не прорисовывается(как я понимаю она прорисовывается, но просто
Код
.setVisible(true)
 неосновного окна, изменилось на 
Код
.setVisible(false) 
 после закрытия)


--------------------
Список всех полезных программ в ОДНОЙ программеhttps://sites.google.com/site/coolprogramms...latnyh-programm...Пьяные белазисты в карьереhttp://www.youtube.com/watch?v=6FGNGMwxJZ4
PM WWW   Вверх
pathfinder
Дата 20.5.2010, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 3.3.2010

Репутация: 7
Всего: 10



Как правильно выше было указано в конструкторе добавить setDefaultCloseOperation, только не EXIT_ON_CLOSE а DISPOSE_ON_CLOSE
Код

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);


и дополнительно в WindowListener вырубить таймер, через который(насколько я понимаю) ты крутишь фигуру.
PM MAIL   Вверх
soulcub
Дата 20.5.2010, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 2.2.2010
Где: Винница, Украина

Репутация: 2
Всего: 2



Да, реально, а как ты вращаешь фигуру? Её вращение зависит от фрейма?
--------------------
Так давай же, поспеши!Отыскать СВОЙ куб души!
PM MAIL ICQ   Вверх
СерегаГоляков
Дата 20.5.2010, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Всё супер :)
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.4.2010
Где: НСК

Репутация: нет
Всего: нет



Код

class RabFig extends JFrame //класс RabFig наследуется от JFrame (наше окошко)
{
    public RabFig()  //конструктор класса
       {
        add(new MyPanel()); //метод, выводит нашу панельку на экран
        pack();             // пинает менеджер компоновки, дабы он пересчитал позиции 
       }                    //всех вложенных визуальных компонентов
    public static void main()//ф-я MAIN()
       {new RabFig().setVisible(true);}//отображение окна со всеми параметрами
}




Кнопка из другого окна вызывает void main().
Объект класса MyPanel() создаёт объект класса  Figure и всё.

--------------------
Список всех полезных программ в ОДНОЙ программеhttps://sites.google.com/site/coolprogramms...latnyh-programm...Пьяные белазисты в карьереhttp://www.youtube.com/watch?v=6FGNGMwxJZ4
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.