由于我的规则已经到位,但无法顺畅地获取这些错误。我试图了解网络上可用的解决方案,但是没有一个对我有用。
Jul 18, 2016 1:39:17 PM javafx.scene.CssStyleHelper calculateValue WARNING: Could not resolve '-fx-tab-border-color' while resolving lookups for '-fx-background-color' from rule '*.tab-pane>*.tab-header-area>*.control-buttons-tab' in stylesheet file ***style.css***
上面提到的警告和许多与此类似的警告,由于某些组件无法正确加载。使用Java1.8.0_66。
我的css文件中的根目录如下:
.root {
-fx-base: #d0d0d0;
-fx-background: #f4f4f4;
-fx-control-inner-background: white;
-fx-font-family:"Courier";
-fx-font-size: 12;
-fx-dark-text-color: black;
-fx-mid-text-color: #292929;
-fx-light-text-color: white;
-fx-accent: #0093ff;
-fx-focus-color: #0093ff;
-fx-color: -fx-base;
-fx-disabled-opacity: 0.9;
-fx-hover-base: ladder(
-fx-base,
derive(-fx-base,20%) 20%,
derive(-fx-base,30%) 35%,
derive(-fx-base,40%) 50%
);
-fx-pressed-base: derive(-fx-base,-20%);
-fx-focused-base: -fx-base;
-fx-tab-border-color: -fx-box-border;
-fx-background-color: inherit;
-fx-background-radius: inherit;
-fx-background-insets: inherit;
-fx-padding: inherit;
-fx-cell-hover-color: #cce3f4;
-fx-cell-focus-inner-border: #85b9de;
-fx-page-bullet-border: #acacac;
-fx-page-indicator-hover-border: #accee5;
}
它用于:
.tab-pane > .tab-header-area > .control-buttons-tab {
-fx-background-color: -fx-tab-border-color, -fx-inner-border, -fx-body-color;
-fx-background-insets: 0, 1, 2;
-fx-background-radius: 5 5 0 0, 4 4 0 0, 3 3 0 0;
-fx-padding: 0.083333em 0.25em 0.083333em 0.25em; /* 1 3 1 3 */
}
是相同的css文件。
提前致谢!!
最佳答案
我最近也遇到了这个问题。就像“ RAM World”所说的那样,当Node
不是根元素,但仍在访问root
块中的预定义值时,就会发生此问题。一个简单的解决方案是扩大选择器的范围,以便javafx可以找到预定义的值。例如。;
.root > *
{
/* add your predefined values here */
}
在这种情况下,它将选择
root
及其每个(嵌套)子级。我更喜欢这种表示法,因为它清楚地表明这些是根属性/值。如果您想要最短的表示法,则以下内容也将起作用:*
{
/* add your predefined values here */
}
在这种情况下,它将选择每个
Node
。尽管这是旧文章,但希望这对某人有所帮助。
编辑
不要使用第一种方法(
root > *
)!使用动态根时,javafx仍会抱怨未解决的规则/属性。只有第二种方法(*
)对我有效,没有错误关于css - 从样式表中的规则解析“-fx-background-color”时无法解析“-fx-tab-border-color”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38431964/