Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Отваливается LnF в swing application


Автор: corewithin 1.11.2005, 14:28
Проблема вот какая...

есть приложение достаточно объемное и есть свой LnF для него же...
и в один прекрасный момент одна из панелей на одном диалогов стала отображаться не в нужном заданном LnF, а в дефолтовом java.\

может кто-то встречался с подобнымими проблемами и знает как разрешить ее?
smile

Автор: LSD 1.11.2005, 14:36
Смена LnF произошла прямо во время работы или после перезапуска?

Автор: corewithin 1.11.2005, 14:41
нет, не во время работы, а посде очередного запуска...

показывался себе диалог показывался...

а потом вдруг раз и при следующем запуске панель на нем уже не такая как все остальные панели, в том числе находящиеся также на данном диалоге...

как сюда картинку запостить кстати?

Автор: AntonSaburov 1.11.2005, 14:45
Так может где-то в коде у этой панели переопределяют LnF ?

Автор: LSD 1.11.2005, 14:47
Цитата(corewithin @ 1.11.2005, 14:41)
как сюда картинку запостить кстати?

Если хочешь приаттачить то: Предварительный просмотр, и там будет кнопка обзор.
Если он уже гду выложен то: [ IMG ]http://forum.vingrad.ru/style_images/1/logo.gif[ /IMG ] (теги без пробелов естественно).

Автор: corewithin 1.11.2005, 14:50
гм... я не настолько глуп... smile

если в момент времени X панель показывается с нужным мне lnf
а в момент времени Y - уже нет, при том, что с X до Y никто не менял код, то не думаю, что там образовалось переодпереление темы lnf...

abstract pane
|--- first pane (good lnf)
|--- second pane (bad lnf)
|--- third pane (bad lnf)

никаких действий в second and third панелях с внешним видом не производится...

Автор: corewithin 1.11.2005, 14:51
вот

Автор: AntonSaburov 1.11.2005, 15:06
А может это реальная бага JVM - ты на сайте у них искал ?

Автор: LSD 1.11.2005, 15:07
Есть возможность выполнить UIManager.getUI(panel).getClass().getName() для этой панельки и вывести в лог?

Автор: corewithin 1.11.2005, 15:14
баг JVM - вряд ли...
очень устойчивое проявление и не было сначала...
Добавлено @ 15:16
UI - PanelUI
если конкрентее, то BasicPanelUI, но несмотря на это у всех панелей одинаковый класс UI. а показывается по разному...

Автор: LSD 1.11.2005, 15:29
Я ошибся не у панели конечно (у нее UI никакой нагрузки не несет), а у тех элементов, которые менятся. Переопределить у них setUI(ComponentUI) и отслеживать изменения LnF.

Автор: corewithin 1.11.2005, 16:05
проблема решилась...

произошло это в результате изменения кода находящего в 20 парсеках от редактируемого мною... или, что аналогично, на расстоянии 30 вызовов по стеку...

некоторые панели стали инициализироваться раньше чем инициализировался lnf и без моего на то разрешения... так что теперь арбайтен )

тема закрыта..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)