Опитвам се да приложа трети страни LAF към aNetBeans RCP приложение (не IDE). Тъй като това е третият LAF, трябва да включа зависимост от допълнителен JAR. Като модулна платформа, написах модул NetBeans, който обгръща JAR на LAF и призовава UIManager.setLookAndFeel () в възстановения () метод. Проблемът е, че модулите не се зареждат в определен ред, така че не работи непрекъснато.
В идеалния случай бих принудил този модул да се зареди веднага, но не можех да намеря как да го направя чисто.
Опитах се да настроя 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, тя прави Googling за решения много по-трудно.
Отговори:
-1 за отговор № 1По-нататъшното откриване на грешки разкри RCP, който извиква UIManager.setLookAndFeel () още няколко пъти след стартирането на модула LAF. Тези последващи обаждания върнаха LAF обратно към стандартните.
Аргументът на командния ред "--laf" не е повлиял на LAF по подразбиране. Въпреки това, задаването на системната собственост "swing.defaultlaf" е направено.
Решението беше също така да зададете тази системна собственост в метода за възстановяване на модула () към името на третия клас на LAF.