![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 1 Всего: 7 |
У меня возникла проблема в браузере Opera с установкой LookAndFeel для JDialog. Я устанавливаю LookAndFeel виндовый, UIManager.getLookAndFeel возвращает правильное значение. Но почему-то при показе диалога вдруг появляется Metal LokAndFeel, причем можно заметить, что диалог имеет нужный лукэндфил первые доли секунды, а потом меняется на Metal. Больше нигде работа с лук&фил не ведется. В других браузерах проблема также не встречается......
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
А ты его когда устанавливаешь - до создания всех компонентов или во время?
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 1 Всего: 7 |
Я его устанавливаю в конструкторе до инициализации всех компонентов но после вызова родительского конструктора( у меня класс наследован от JDialog)
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Попробуй сделать это раньше - в init()'е апплета, или вовсе в статическом коде, если это возможно.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 1 Всего: 7 |
Вообще апплет имеет нормальный LookAndFeel , а вот Диалог что-то не работает, а у него UIManager свой или тот же что и апплета?
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
LookAndFeel устанавливается для всего приложения в целом. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 1 Всего: 7 |
Тогда вообще мистика - на фоне апплета с виндовым LookAndFeel появляется ни с того ни с сего диалог с Metal LokAndFeel........ но это ТОЛЬКО в опере, больше нигде не наблюдалось такого - ни в винде ни на маке.... короче вопрос остается открытым
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
Хоть на код бы посмотреть глазочком...
|
|||
|
||||
| skhilkov |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 1 Всего: 7 |
Вот код, которым я пытался установить ЛАФ конкретно для этого диалога, хотя, судя по тому, что сказал ЛСД, это бесполезное дело.
А вот код, где ЛАФ устанавливается для апплета:
При этом еще раз хочу подчеркнуть, что апплет ВСЕГДА имеет правильный ЛАФ, а диалог косячит только под Оперой -------------------- Кто понял жизнь, тот не спешит. |
||||
|
|||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
Скорее всего это опера глучит (хотя не понятно по какой причине).
Попробуй еще после установки LookAndFeel обновить UI ручками, иногда помогает:
метод updateComponentTreeUI принимает в качестве параметра ссылку на контейнер компонентов (поставь ссылку на нужный контейнер, JDialog в твоем случае). Все UI подкомпонентов будут обновлены. |
|||
|
||||
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 1 Всего: 7 |
неа, не помогает, к сожалению...... просто чудеса ...
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 1 Всего: 7 |
$%^%&^ блин, чертова Опера, она JAR файлы кэширует, даже если через Java Control Panel удалять файлы... Так вот, дружище MoonCat, твой метод помог, но частично(сам диалог нормальный , а компоненты - метал
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
Может быть еще попробовать вызвать updateComponentTreeUI для ContentPane у твоего диалога.
|
|||
|
||||
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 1 Всего: 7 |
ээх, не помогло (кэш везде на 20 раз убивал)..... жаль...
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
![]()
|
| Правила форума "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. |