у меня есть приложение Swing, и я хочу выполнить его с Нимбом look'n'feel. У меня есть последнее обновление для JRE, и я знаю, как установить мое приложение для использования Нимба look'n'feel использующий класс UIManager, но я хочу, чтобы мое приложение выбрало правильный JRE на времени выполнения для использования Нимба. Как сделать это?
Я использую Netbeans.
Вы можете использовать родную программу запуска, такую как Launch4J, которая позволяет вам явно "работать с поставляемой JRE или искать новейшую Sun или IBM JRE / JDK в заданном диапазоне версий."
Также посмотрите на этот вопрос.
Вы не можете выбрать время выполнения Java на компьютере. Все, что вы можете сделать, это проверить, какая среда выполнения Java доступна на чьем-либо компьютере.
У вас есть два варианта действий в коде.
На странице Nimbus они показывают вам, как можно проверить внешний вид Nimbus и вернуться к чему-то другому, если Nimbus недоступен.
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (Exception e) {
// If Nimbus is not available, you can set the GUI to another look and feel.
}
Это то, что Oracle рекомендует разработчикам делать.
Другой вариант - запустить тест, чтобы узнать, какая среда выполнения Java доступна. Вот апплет от Java Tester, который выполняет тест. Важными строками являются System.getProperty ("java.version")
и System.getProperty ("java.vendor")
.
public class JavaVersionDisplayApplet extends Applet
{ private Label m_labVersionVendor;
public JavaVersionDisplayApplet() //constructor
{ Color colFrameBackground = Color.pink;
this.setBackground(colFrameBackground);
m_labVersionVendor = new Label (" Java Version: " +
System.getProperty("java.version")+
" from "+System.getProperty("java.vendor"));
this.add(m_labVersionVendor);
}
}
Nimbus работает на Java 6 Update 10 и выше.
Используйте Java WebStart для запуска вашего приложения. Это позволяет вам запрашивать самую новую JRE в системе.