Я создаю приложение в колебании Java, и я использую следующий код, чтобы дать UI собственный взгляд ОС
try {
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
На OS X взгляд прекрасен, но на окнах (XP и 7) кнопки похожи на это.
сопроводительный текст http://img710.imageshack.us/img710/8735/buttonsoc.png
Я использовал этот точно тот же самый код на других проектах, и он хорошо работает. Но в этом конкретном проекте я получаю совершенно другой взгляд.
Я использую Java 1.6
Заранее спасибо!
Возможно, вы создаете свои элементы GUI до того, как фактически установите L&F? Если вы уже создали (например) экземпляры JButton и вызвали методы на них, они выделяют свой аналог UI - изменения L&F после этого не повлияют на уже созданные экземпляры.
Это объясняет, почему это работает на Mac (L&F по умолчанию установлен на Mac в JVM Apple IIRC), но не работает на Windows. Вы можете быстро проверить это, если перенесете установку L&F непосредственно в ваш главный метод в качестве самого первого вызова (при условии, что ваш главный класс НЕ содержит статически инициализированных экземпляров GUI, конечно).