css - Java FX CSS @import 路径问题

标签 css javafx

Java8_31中,我导入了不同的CSS文件,就像我的main.css中的文件一样:

@import "style/common/test1.css";
@import "style/common/test2.css";

所有文件都在 style/common 包中,并且效果很好。

现在使用构建 Java8_40 我做了同样的事情,但收到以下错误消息:

Could not find stylesheet: file:/mypath/../style/common/style/common/test2.css com.sun.javafx.css.parser.CSSParser handleImport

CSS 文件 test1.css 中的所有样式都可以正常工作。我很好奇的是我的路径样式/公共(public)出现了两次。

所以我尝试将导入更改为以下内容:

@import "style/common/test1.css";
@import "test2.css";

通过这些导入,文件 test1 和文件 test2 的两种样式都可以工作。但这两个文件仍然在同一个包中。

这里发生了什么?是否存在关于 @import 的已知问题以及 CSSParser 中可能存在的问题?

最佳答案

这实际上是一个已知问题:

https://javafx-jira.kenai.com/browse/RT-40346

有一个临时修复程序可用,该问题应该会在下一个版本 Java8_u60 中得到解决。

可以在 CSSParser 类中进行临时修复。链接到 git diff:

http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/839912277bf0

如果您不想尝试修复或等待 u60,只需将所有 css 文件添加到同一文件夹中并像这样导入(临时解决方案!):

@import "css/test1.css";
@import "test2.css";
@import "test3.css";
@import "testX.css";

关于css - Java FX CSS @import 路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29493147/

相关文章:

css - 通过 <li> anchor 扩展区域

基于窗口大小百分比的 JavaFX 布局

html - 导航栏中的 Logo 已调整大小,但链接的缩略图保留原始比例

css - JavaFX Tab 适合标题的全尺寸

javafx - 在JavaFX中获取节点的全局坐标

java - EventHandler 在一个单独的类中

java - 如何在 setOnAction 外部使用定义在其内部的变量?

html - 是否可以设置以特定文本开头的 <h2> 样式?

html - float 在 div 中不起作用

css - 降低 Bootstrap 表单组件之间的高度