8

我注意到当我在 JVM 7 和 JVM 8 上运行 JavaFX 应用程序时,我得到了不同的默认皮肤。如何在每个 JVM 上将默认皮肤设置为相同?

4

4 回答 4

11

您可以设置默认皮肤:

@Override 
public void start(Stage stage) throws Exception {
    ....
    setUserAgentStylesheet(STYLESHEET_CASPIAN);
    ....
}

http://fxexperience.com/2013/01/modena-new-theme-for-javafx-8/

于 2013-06-29T13:19:50.500 回答
6

JavaFX 2 的默认样式表是 caspian.css。您可以在 com.sun.javafx.scene.control.skin.caspian 下的 jfxrt.jar 中找到它。JavaFX 8 改变了这种情况,我相信默认样式表名为modena.css。为了获得通用样式表,您必须定义自己的样式表或将其中一个默认值复制到您的项目中。

于 2013-06-26T13:11:55.900 回答
2

您还可以在命令行上使用 -Djavafx.userAgentStylesheetUrl=caspian 运行。

于 2014-08-20T22:30:21.290 回答
1

您可以通过添加样式表来设置自己的皮肤。

scene.getStylesheets().add(
    getClass().getResource("my-skin.css").toExternalForm());

不幸的是,没有默认样式表。也许浏览 jfxrt.jar 可能会产生一些东西。

于 2013-06-25T12:58:51.453 回答