I noticed that when I run JavaFX application on JVM 7 and JVM 8 I get different default skins. How I can set the default skin to be same on every JVM?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can set the default skin:
@Override
public void start(Stage stage) throws Exception {
....
setUserAgentStylesheet(STYLESHEET_CASPIAN);
....
}
http://fxexperience.com/2013/01/modena-new-theme-for-javafx-8/
回答2:
The default stylesheet for JavaFX 2 is caspian.css. You can find it in jfxrt.jar under com.sun.javafx.scene.control.skin.caspian. This changed with JavaFX 8 and I believe the default stylesheet is named modena.css. In order to get a common stylesheet, you will have to either define your own or copy one of the defaults into your project.
回答3:
You can set your own skin by adding a style sheet.
scene.getStylesheets().add(
getClass().getResource("my-skin.css").toExternalForm());
Unfortunately there is no default style sheet. Maybe browsing in jfxrt.jar might yield something.
回答4:
You can also run with -Djavafx.userAgentStylesheetUrl=caspian on the command line.