Java FX场景构建器无法识别css自定义颜色常量(或变量)

时间:2017-06-05 06:49:46

标签: java css javafx scenebuilder

如果Defined css是plain,则场景构建器使用定义的样式...

呈现控件

但是如果使用css自定义颜色常量,则场景构建器将控件呈现为白色...

当我运行应用程序时,为场景正确应用了样式(这由javaFX库完成)

注意:链接场景构建器中的css文件与preview > Scene StyleSheets > add a StyleSheet是隐含的,这就是基本样式表(没有css颜色常量)正常工作的原因。

我的问题是:

如何制作(场景构建器)了解 CSS(颜色常量)样式

CSS:

.root {
   -color1: #1BA1E2;
   -color2: #F8F8F8;

   -primary-color: -color1;
   -secondary-color: -color2;
}

.windowbox {
    -fx-border-radius: 50 0 50 0;
    -fx-background-radius: 50 0 50 0;
    -fx-background-color: -primary-color;
}

.lbl {
    -fx-background-color: derive(-primary-color, -10%);
    -fx-text-fill: -secondary-color;
}

上述css在执行期间(在运行时)完美运行,但场景构建器无视样式

1 个答案:

答案 0 :(得分:1)

在Scene Builder中,选择预览,然后选择场景样式表,然后按照here 添加样式表。然后选择.css文件。要获得更多信息,请使用CSS Analyzer功能。

此外,由于您的示例使用css 类选择器(“。”),请务必引用fxml中的样式类(例如, styleClass =“lbl”)。

或者,您可以使用css id选择器(“#”)。使用该方法,您可以在fxml中指定id( id =“lbl”)。或者您可以从fxml中省略id属性,默认情况下,fx:id值将用作css id选择器( fx:id =“lbl”)。

部分信息herehere