2

使用带有集成 JavaFX 2.2 的 Java 7 Update 6,似乎只要我UserAgentStylesheet为 a定义一个自定义Control并在其中定义 a -fx-skin,JavaFXStyleHelper就会抱怨缺少对 CSS“变量”的引用:

WARNING: com.sun.javafx.css.StyleHelper calculateValue Could not resolve '-fx-outer-border' while resolving lookups for '-fx-background-color' from rule '*.tab-pane *.tab-header-background' in stylesheet jar:file:/C:/Programme/Java/jdk1.7.0_06/jre/lib/jfxrt.jar!/com/sun/javafx/scene/control/skin/caspian/caspian.bss

对于单个自定义组件,大约有 40 个类似上述的警告。

我可能遗漏了一些东西,因为这是我第一次尝试自定义蒙皮,但我不确定它是什么。SO、JavaFX-dev ML 和 FX 文档,甚至来自 JFXtras 的代码都没有指出一个明显的原因。

万一这很重要,我会直接扩展Control和实现Skin,但如果我扩展Button、覆盖getUserAgentStylesheet()并将 CSS 指向默认值,也会发生同样的情况ButtonSkin

你能指出我的错误或解决方法吗?

4

2 回答 2

0

昨天我也遇到了这个问题,但不是在每个版本中。如果您使用 JFXtra,我在 OTN 论坛上找到了这篇文章:https ://forums.oracle.com/forums/thread.jspa?threadID=2430102

于 2012-08-27T13:14:13.263 回答
0

这是 JavaFX 中的一个已知问题,您可以使用以下变通方法来避免这些警告: 在将节点添加到控件之前检查 getScene() != null 这解决了 JFXtras 控件的问题。

于 2012-09-12T05:37:59.467 回答