2012-06-19 2 views
1

У меня есть приложение Java Swing, использующее внешний вид Nimbus. Я также использую LowerBorder для компоновки некоторых компонентов. Это хорошо работает на Java 6 и более ранней версии, но я получаю исключение класса, не найденное на Java 7.Swing Nimbus LoweredBorder на Java 7

Любые идеи, почему? Я проверил JavaDoc Java 7, кажется, что эта граница была удалена. Если это так, есть ли необходимость в решении этой проблемы?

Заранее спасибо.

Бест, Rui

+0

для лучшей помощи скорее отправить сообщение [SSCCE] (http://sscce.org/) – mKorbel

+0

Кажется, что [доступ к пакетам доступен только в JDK 7] (http://www.docjar.org/html/api /javax/swing/plaf/nimbus/LoweredBorder.java.html) – assylias

ответ

4

Пакет этого класса изменилось между Java 6: com.sun.java.swing.plaf.nimbus.LoweredBorder и Java 7: javax.swing.plaf.nimbus.LoweredBorder, следовательно, класс не найден вопрос.

Вам следует избегать использования ограниченных пакетов, таких как com.sun.*, так как они подвержены произвольным изменениям.

В более общем плане вы также должны избегать попыток манипулировать низкоуровневыми файлами F и использовать оригинальные API для достижения того, чего вы хотите.

+0

И 'com.sun.java.swing.plaf.nimbus.LoweredBorder' был общедоступным, тогда как' javax.swing.plaf.nimbus.LoweredBorder' не является. – assylias

+0

+1. Хорошо поймал :) . –

+0

Спасибо за ответы. LoweredBorder - полезная граница, я могу все еще использовать ее в Java 7? –

Смежные вопросы