有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在JavaFX2.2中对自定义控件进行蒙皮,而不引起CSS警告?

使用集成了JavaFX2.2的Java7更新6, 看起来,当我为Control定义一个自定义UserAgentStylesheet并在其中定义一个-fx-skin时,JavaFX的StyleHelper抱怨缺少对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个类似上述的警告

我可能错过了一些东西,因为这是我第一次尝试自定义蒙皮,但我不确定它是什么。 无论是JavaFX dev ML还是FX文档,甚至JFXtras的代码都没有指出导致这种情况的明显原因

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

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


共 (1) 个答案

  1. # 1 楼答案

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