| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > Как установить для JTree разные LAF ? |
| Автор: Slanix 17.5.2005, 05:35 |
| На форме есть 2 JTree. Как сделать, что бы одно дерево отображалось в WindowsLookAndFeel, а второе в MetalLookAndFeel? |
| Автор: Domestic Cat 17.5.2005, 06:10 |
| Насколько я себе представляю ситуация такая: когда приложение грузится, оно грузит дефолтный UI делегат. Все компоненты получают один единственный делегат, и приобретают нужный им ЛиФ. Далее, если ты меняешь ЛиФ, то есть вызываешь UIManager.setLookAndFeel(...), ничего не изменится для компонентов, то есть это изменение не распространяется по иерархии само. Нужно заставить компонент принять ЛиФ с помощью SwingUtilities.updateComponentTreeUI(rootOfHierarchyToChange). Потому рецепт будет наверное таким. 1. Сделать ЛиФ например дефолтным (Метал или Океан) - то есть вообще ничего не делать. 2. Приложение грузицца, делает чего-то, и пр. 3. Далее изменить ЛиФ на нужный (Винда) 4 Вызвать SwingUtilities.updateComponentTreeUI(myWindozeTree). 5. Изменить ЛиФ взад Должно помочь. |
| Автор: 604 18.5.2005, 12:12 | ||
Проще при старте поставить Windows LF а потом ко второму дереву применить вот такое:
|