Я заметил, что при запуске приложения JavaFX на JVM 7 и JVM 8 я получаю разные скины по умолчанию. Как я могу установить, чтобы скин по умолчанию был одинаковым для каждой JVM?Как установить скин по умолчанию для JavaFX
ответ
Вы можете установить скин по умолчанию:
@Override
public void start(Stage stage) throws Exception {
....
setUserAgentStylesheet(STYLESHEET_CASPIAN);
....
}
http://fxexperience.com/2013/01/modena-new-theme-for-javafx-8/
Вы можете настроить свой собственный скин, добавив таблицу стилей.
scene.getStylesheets().add(
getClass().getResource("my-skin.css").toExternalForm());
К сожалению, таблица стилей по умолчанию отсутствует. Возможно, просмотр jfxrt.jar может привести к чему-то.
Есть ли какие-либо другие скины, встроенные в JavaFX, которые я могу использовать? –
Не то, что я знаю, но я не настолько разбираюсь в JavaFX. –
@OttPrime Сделайте это в ответ; У меня уже есть достаточные баллы. –
Таблицей стилей по умолчанию для JavaFX 2 является caspian.css. Вы можете найти его в jfxrt.jar по адресу com.sun.javafx.scene.control.skin.caspian. Это изменилось с помощью JavaFX 8, и я считаю, что таблица стилей по умолчанию называется modena.css. Чтобы получить общую таблицу стилей, вам придется либо определить свой собственный, либо скопировать один из значений по умолчанию в ваш проект.
Вы можете также запустить с -Djavafx.userAgentStylesheetUrl = Каспию в командной строке.
Разве это не метод JavaFX 8? Будет ли это работать на JRE 7? – OttPrime
@OttPrime Нет, он не будет работать на 7, используйте 'System.setProperty (« javafx.userAgentStylesheetUrl »,« CASPIAN »);' – Jurgen
Вышеприведенное будет работать при запуске приложения как банке, но по какой-то причине не будет работа при запуске с помощью Java Web Start, любая идея, почему? Я боролся с этим какое-то время, я не могу найти причины для этого. – skjerdalas