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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Look and feel в Opera 9 
:(
    Опции темы
skhilkov
Дата 26.6.2006, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У меня возникла проблема в браузере Opera с установкой LookAndFeel для JDialog. Я устанавливаю LookAndFeel виндовый, UIManager.getLookAndFeel возвращает правильное значение. Но почему-то при показе диалога вдруг появляется Metal LokAndFeel, причем можно заметить, что диалог имеет нужный лукэндфил первые доли секунды, а потом меняется на Metal. Больше нигде работа с лук&фил не ведется. В других браузерах проблема также не встречается...... 


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
batigoal
Дата 26.6.2006, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


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

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



А ты его когда устанавливаешь - до создания всех компонентов или во время? 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
skhilkov
Дата 26.6.2006, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я его устанавливаю в конструкторе до инициализации всех компонентов но после вызова родительского конструктора( у меня класс наследован от JDialog) 


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
batigoal
Дата 26.6.2006, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


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

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



Попробуй сделать это раньше - в init()'е апплета, или вовсе в статическом коде, если это возможно. 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
skhilkov
Дата 26.6.2006, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вообще апплет имеет нормальный LookAndFeel , а вот Диалог что-то не работает, а у него UIManager свой или тот же что и апплета? 


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
LSD
Дата 27.6.2006, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(skhilkov @  26.6.2006,  11:39 Найти цитируемый пост)
Вообще апплет имеет нормальный LookAndFeel , а вот Диалог что-то не работает, а у него UIManager свой или тот же что и апплета?

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.
PM MAIL WWW   Вверх
skhilkov
Дата 29.6.2006, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Тогда вообще мистика - на фоне апплета с виндовым LookAndFeel появляется ни с того ни с сего диалог с Metal LokAndFeel........ но это ТОЛЬКО в опере, больше нигде не наблюдалось такого - ни в винде ни на маке.... короче вопрос остается открытым smile  


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
powerOn
Дата 29.6.2006, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Хоть на код бы посмотреть глазочком... 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
skhilkov
Дата 29.6.2006, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот код, которым я пытался установить ЛАФ конкретно для этого диалога, хотя, судя по тому, что сказал ЛСД, это бесполезное дело.


Код

public UploadProgressDialog(Frame pParent, PropertyHolder pProps)
    {        
        super(pParent, "", false);
        
        m_pProps = pProps;
        String laf = m_pProps.getLookAndFeel();
        
        if (laf == null || laf.length()<1)
        {
            
            laf = UIManager.getSystemLookAndFeelClassName();
        }
        try
        {
            
            UIManager.setLookAndFeel(laf);    
            
        }        
        catch (Exception e)
        {
            System.err.println("Warning: UnsupportedLookAndFeel: " + laf);
        }


А вот код, где ЛАФ устанавливается для апплета:
Код

public void init()
    {
        System.out.println(Config.controlName + " version: " + Config.versionNumber);

        System.out.println("Current document URL: " + (getDocumentBase() != null ? getDocumentBase().toString() : "Unknown"));

        if (Config.StaticSynchMethodManagerFeature)
        {
            Tools.startSyncMethodManager();
        }
        //
        _syncMethodManager.setMainThread(Thread.currentThread());
        //
        String strParam = getParameter("LookAndFeel");
        String laf = "";
        // Init look and feel
        if (strParam != null && strParam != "")
        {
            String lookAndFeel = DefaultValues.lookAndFeel.getVerifiedValue(strParam);
            laf = lookAndFeel;
        }
        else
        {
            String gtkLookAndFeel = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";
            String systemLookAndFeel = UIManager.getSystemLookAndFeelClassName();
            laf = CommonConstants.isUnix ? gtkLookAndFeel : systemLookAndFeel;
        }
        try
        {
            UIManager.setLookAndFeel(laf);


При этом еще раз хочу подчеркнуть, что апплет ВСЕГДА имеет правильный ЛАФ, а диалог косячит только под Оперой



 


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
powerOn
Дата 29.6.2006, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Скорее всего это опера глучит (хотя не понятно по какой причине).
Попробуй еще после установки LookAndFeel обновить UI ручками, иногда помогает:

Код

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
SwingUtilities.updateComponentTreeUI(this);


метод updateComponentTreeUI принимает в качестве параметра ссылку на контейнер компонентов (поставь ссылку на нужный контейнер, JDialog в твоем случае). Все UI подкомпонентов будут обновлены. 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
skhilkov
Дата 29.6.2006, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



неа, не помогает, к сожалению...... просто чудеса ... 


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
skhilkov
Дата 29.6.2006, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



$%^%&^ блин, чертова Опера, она JAR файлы кэширует, даже если через Java Control Panel удалять файлы... Так вот, дружище MoonCat, твой метод помог, но частично(сам диалог нормальный , а компоненты - метал  smile ) - вот что получилось 


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
powerOn
Дата 29.6.2006, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Может быть еще попробовать вызвать updateComponentTreeUI для ContentPane у твоего диалога.  smile  


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
skhilkov
Дата 29.6.2006, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ээх, не помогло (кэш везде на 20 раз убивал)..... жаль... 


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0643 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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