| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > как отловить закрытие формы? |
| Автор: СерегаГоляков 17.5.2010, 12:12 | ||
Нажатием кнопки на одной форме, я вывожу на экран другую MyPanel
А когда я его закрываю виндоусовским крестиком, что происходит? просто происходит .setVisible(false); ?? - т.к. например значение спидометра меняется даже еси окно закрыто. И как мне отловить закрытие формы?? |
| Автор: AntonSaburov 17.5.2010, 12:15 |
| Посмотреть метод addWindowListener и сам интерфейс WindowListener. Еще можно глянуть класс WindowAdapter как реализацию интерфейса. |
| Автор: aleksandy 18.5.2010, 08:59 | ||
В конструкторе класса добавь вот это
Это если тебе не нужно больше ничего делать, просто завершить приложение. Иначе - последовать совету AntonSaburov-а. |
| Автор: soulcub 20.5.2010, 06:58 | ||
Если не уверен, что при удалении окна, сборщик мусора его подотрёт, делай dispose() вручную и будет тебе счастье.
|
| Автор: СерегаГоляков 20.5.2010, 10:28 | ||||
| Наверное я неправильно выразился)))) Основное окно открывает одно неосновное кнопкой СТАРТ. В неосновном прорисовывается вращение фигуры. Затем, стандартным крестиком закрываю неосновное. http://ipicture.ru/Gallery/Viewfull/277777.html Но у мя в основном окне спидометр все равно измеряет скорость вращения фигуры кот была в неосновном окне, а окно я уже закрыл. http://ipicture.ru/Gallery/Viewfull/277783.html Т.е. моя фигура все равно меняет координаты , но уже нигде не прорисовывается(как я понимаю она прорисовывается, но просто
|
| Автор: pathfinder 20.5.2010, 10:43 | ||
Как правильно выше было указано в конструкторе добавить setDefaultCloseOperation, только не EXIT_ON_CLOSE а DISPOSE_ON_CLOSE
и дополнительно в WindowListener вырубить таймер, через который(насколько я понимаю) ты крутишь фигуру. |
| Автор: soulcub 20.5.2010, 15:03 |
| Да, реально, а как ты вращаешь фигуру? Её вращение зависит от фрейма? |
| Автор: СерегаГоляков 20.5.2010, 17:22 | ||
Кнопка из другого окна вызывает void main(). Объект класса MyPanel() создаёт объект класса Figure и всё. |