Tuesday, October 30, 2007

Как установить свой Look&Feel?

На вопрос темы каждый бы мне ответил, что для установки своего вида графических элементов надо иметь JAR с классами, реализующими особый LaF, добавленный в classpath, и добавить в код метода main выполнение такого метода:

javax.swing.UIManager.setLookAndFeel("com.MyLookAndFeel");

где "com.company.CustomLookAndFeel" - имя класса ответственного за тот особый LaF.

Но что делать, если приложение уже собрано, а исходников нет, и разработчики не подумали о том, что мне не понравится вид по умолчанию (как Ocean в Java 5)? Или нужно, например, быстро и просто применить новый LaF?

На ответ наткнулся случайно (во время ночного серфинга по сети ;-)).
Итак, можно воспользоваться таким параметром JVM, как swing.defaultlaf, который можно указать через ключ -D во время запуска Java-приложения:
-Dswing.defaultlaf=имя_класса_LaF
! Не забываем про то, что jar с LaF должен быть в classpath :-)

Для удобства можно написать .bat (Win) или .sh (Linux) скрипт напободие:
javaw -cp "mainclasspath:lafclasspath" -Dswing.defaultlaf=LaFClass MainClass

Примеры custom LookAndFeel:
Как создать свой LookAndFeel:
P.S. Что касается меня, то я предпочитаю банальный системный LookAndFeel. ;-)

No comments:

Blog Archive