【问题标题】:How to load css file in javafx8如何在javafx8中加载css文件
【发布时间】:2014-05-02 21:11:01
【问题描述】:

此代码在 javafx 8 中不起作用

  scene.getStylesheets().add("appCssFile.css");

我收到了Exception

Mar 25, 2014 12:21:20 PM com.sun.javafx.css.parser.CSSParser reportException
WARNING: Please report java.lang.NumberFormatException at:
Mar 25, 2014 12:21:20 PM com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged
WARNING: Resource "appCssFile.css" not found. 

如何加载 css ?

【问题讨论】:

标签: javafx javafx-8


【解决方案1】:

只需在 .css 文件中添加包名。

您的代码将如下所示:

scene.getStylesheets().add("sample/appCssFile.css");

【讨论】:

    【解决方案2】:

    在我的情况下,我想从磁盘加载一个 css 文件,我按照article 所说的那样做,它对我有用。代码 sn-p 如下:

    scene.getStylesheets().add("file:///E:/csse2002-7023/src/csse2002/block/world/main.css") 
    

    【讨论】:

    • 这是我一直在寻找的答案。使用 Paths 你会得到相同的结果: Paths.get("E","csse2002-7023","src","csse2002","block","world","main.css").toUri() .toString())
    【解决方案3】:

    对于那些无法从接受的答案中找到 css 方式的人,请使用 classLoader:

    getClass().getClassLoader().getResource("css/style.css").toExternalForm()
    

    如果你使用 maven,它会在 resources/css/ 目录下找到你的 css。

    【讨论】:

      【解决方案4】:

      您需要一个 URL 并调用 toExternalForm 才能将 css 文件加载到您的项目中。
      为此使用 ClassLoader:

      scene.getStylesheets().add(getClass().getResource("/style.css").toExternalForm());
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-16
        • 2014-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-20
        相关资源
        最近更新 更多