Использование сторонних разработчиков в приложении RCP NetBeans - PullRequest
1 голос
/ 07 июля 2011

Я пытаюсь применить стороннее LAF к приложению RCP NetBeans (не к IDE).Поскольку это LAF от третьего лица, я должен включить зависимость от дополнительного JAR.Будучи модульной платформой, я написал модуль NetBeans, который оборачивает JAR-файл LAF и вызывает UIManager.setLookAndFeel () в методе restore ().Проблема в том, что модули не загружаются в каком-либо определенном порядке, поэтому он не работает постоянно.

В идеале я бы принудительно загрузил этот модуль, но не смог найти, как это сделать чисто.

Я пытался установить LAF с аргументами "--laf" и "--cp: p", как описано здесь:

http://javahowto.blogspot.com/2008/05/how-to-customize-netbeans-look-and-feel.html

Проблема в третьей сторонеLAF JAR зависит от NetBeans и других сторонних JAR, поэтому во время выполнения я получаю много ошибок «класс не найден».Технически эти классы присутствуют, но в отдельных модулях.Я бы предпочел не загромождать командную строку многочисленными аргументами "--cp: p".

В качестве примечания: наличие IDE и RCP с одинаковыми именами значительно затрудняет поиск решений в Google..

1 Ответ

0 голосов
/ 08 июля 2011

Дальнейшая отладка показала, что RCP вызывает UIManager.setLookAndFeel () еще пару раз после запуска моего модуля LAF. Эти последующие вызовы сбрасывали LAF обратно по умолчанию.

Аргумент командной строки --laf не влияет на LAF по умолчанию. Однако установка системного свойства swing.defaultlaf не удалась.

Решением было также установить для этого системного свойства в методе restore () модуля имя класса LAF третьей стороны.

...