![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
SATYR |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.5.2005 Репутация: нет Всего: нет |
Всем привет .
Народ вопрос следующий, действительно ли при закрытие JInternalFrema-ов методом doDefaultCloseAction при setDefaultCloseOperation установленной в DISPOSE_ON_CLOSE происходит уничтожение объекта? С прашиваю об этом в связи с тем что наблюдаю следующую неприятную для себя ситуацию, после закрытия JInternalFrame-ов расположенных на слоённой панели ( все фреймы располагаютя в одном слое) getComponentCountInLayer(int layer) возвращает тоже значение что было до их закрытия. Поэтому предполагаю что ссылки на фреймы остались внутри JLayeredPane и фреймы как таковые неуничтожены. Незнаю насколко это коректно , но попытался принудительно удалить закрытые фреймы из панели методом remove(Component), после чего при попытки вызвать getComponentCountInLayer(int layer) пррограмма вавыливается в отладчике в EventDipatchThread. Подскажите как удалить их коректно, ломаю голову уже три дня. |
|||
|
||||
ecologist |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 452 Регистрация: 28.2.2007 Репутация: нет Всего: 9 |
Обычно фрейм закрывается и уничтожается методом dispose();
А ты как делаешь ? |
|||
|
||||
goodday1941 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 709 Регистрация: 16.7.2006 Где: Украина, Киев Репутация: 8 Всего: 9 |
теоретически да и еще вместо doDefaultCloseAction можно использовать setClosed ... эффект тот же будет -------------------- SCJP 6 |
|||
|
||||
SATYR |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.5.2005 Репутация: нет Всего: нет |
Я к сожалению делал иначе через doDefaultCloseAction. dispose() оказалось то что надо. Спасибо
![]() |
|||
|
||||
SATYR |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.5.2005 Репутация: нет Всего: нет |
Я извиняюсь, но проблема осталась. При вызове любого из методов: dispose(), doDefaultCloseAction, setClosed(true) картина прежняя и ещё выяснилось что при вызове dispose() окно закрывается без оработки события InternalFrameEvent что в моем случае не очень хорошо.
После удаления объекта из JLayeredPane методом remove(Component) если изъявить желание узнать колличество оставшихся окошек посредством getComponentCountInLayer(int layer) программа вавыливается в отладчике в EventDipatchThread. Немного дополню вопрос пояснением процесса закрытия фрейма, может быть это имеет принципиальное влияние на проблему. Закрытие фрейма происходит по щелчку мыши на его области т.е. в слушателе событий мыши вызывется dispose() // doDefaultCloseAction()// setClosed(true), далее в слушателе событий фрейма (InternalFrameEvent) в методе InternalFrameClosing отслеживается колличество оставшихся окошек посредством getComponentCountInLayer(int layer) как правило после закрытия оно не меняется. ![]() ![]() ![]() Добавлено через 5 минут и 48 секунд to goodday1941 В том то и дело что эффекта ненаблюдается |
|||
|
||||
aleksandy |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 260 Регистрация: 17.12.2006 Репутация: 1 Всего: 5 |
Код приведи, чего-то ты не так делаешь.
![]() |
|||
|
||||
SATYR |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.5.2005 Репутация: нет Всего: нет |
Привожу код
Это сообщение отредактировал(а) SATYR - 24.4.2009, 13:22 |
|||
|
||||
aleksandy |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 260 Регистрация: 17.12.2006 Репутация: 1 Всего: 5 |
Приведенный код нерабочий. Или давай работоспособный код, либо опиши что тебе требуется...
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |