Javafx css文件无法加载

时间:2014-02-23 03:11:10

标签: javafx javafx-2

我遇到了麻烦,可能是由于一个错误,加载css或任何其他资源是JavaFX 2.2。到目前为止

File xml = new File(getClass().getResource("feed.xml").getFile());

打印文件路径的输出:

file:/home/bryan/NetBeansProjects/Postr/dist/run916076183/Postr.jar!/postr/feed.xml

我很确定我的问题是.jar之后的感叹号。知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

jar网址中的感叹号是正常的,有关信息,请参阅Javadoc

但是您无法使用文件协议加载jar资源。文件协议仅用于从文件系统加载文件,而不用于从jar加载资源。

因此,请使用getResourceAsStream获取资源的流,然后根据需要操作该资源。

有些JavaFX apis将简单字符串作为参数而不是stream或url,因此您可以使用以下模式将jar资源url转换为字符串:

MyApplication.class.getResource("mystyles.css").toExternalForm()