How to set JavaFX default skin

前端 未结 4 501
礼貌的吻别
礼貌的吻别 2020-12-03 18:39

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?

相关标签:
4条回答
  • 2020-12-03 19:17

    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.

    0 讨论(0)
  • 2020-12-03 19:23

    You can also run with -Djavafx.userAgentStylesheetUrl=caspian on the command line.

    0 讨论(0)
  • 2020-12-03 19:29

    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/

    0 讨论(0)
  • 2020-12-03 19:38

    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.

    0 讨论(0)
提交回复
热议问题