Scene Builder 2.0无法从resources / classpath加载样式表

时间:2014-01-22 13:23:48

标签: javafx-2 javafx-8 scenebuilder

我的FXML文件在根节点上指定了属性stylesheets="styles/Styles.css"。这个程序启动时工作正常。但是,在Scene Builder 2中,css不加载,控制台打印WARNING: Resource "styles/Styles.css" not found.,“属性”面板不起作用,控制台进一步打印堆栈跟踪。如果使用绝对file: url指定stylesheets属性,则SB可以工作,但我需要url指向类路径。

1 个答案:

答案 0 :(得分:1)

在我的例子中,样式表在根元素中定义如下:

    <stylesheets>
       <URL value="@css/base.css" />
    </stylesheets>

在这种表示法中,可能意味着从FXML文件位置相对地搜索该文件。

但是你必须在运行时指定加载的FXML文件的位置。

   // file = String with FXML file path, loader = FXMLLoader
   URL resource = getClass().getResource(file);
   loader.setLocation(resource);

我希望,它会帮助你......

Btw Scene Builder 2.0仍然是早期版本,所以也可能存在一些问题......