Java 标签的颜色被遗忘了
我在SimpleJavaFX项目中观察到了以下问题。在NetBeans中,我创建了简单的FXML项目。它包含FXML文件Java 标签的颜色被遗忘了,java,javafx,javafx-2,fxml,scenebuilder,Java,Javafx,Javafx 2,Fxml,Scenebuilder,我在SimpleJavaFX项目中观察到了以下问题。在NetBeans中,我创建了简单的FXML项目。它包含FXML文件 标签的颜色在FX场景生成器中正确显示,但如果使用场景生成器的预览功能,则会看到错误的标签颜色。我看到灰色后端有白色字体。如果我创建这个简单项目的构建,我会看到同样错误的颜色。这个问题的原因是什么?在我看来,颜色的正确定义不包括在构建中。 我用 Netbeans 8.1 JavaSDK8 64位 Windows 7 64位 提前感谢您获得预期结果的一些方法是: ~>1)如果
标签的颜色在FX场景生成器中正确显示,但如果使用场景生成器的预览功能,则会看到错误的标签颜色。我看到灰色后端有白色字体。如果我创建这个简单项目的构建,我会看到同样错误的颜色。这个问题的原因是什么?在我看来,颜色的正确定义不包括在构建中。
我用
提前感谢您获得预期结果的一些方法是: ~>1)如果您愿意保持这种风格,建议您这样做 在SceneViewer中,使用内嵌css手动添加每个VBox或标签的背景色:
-fx-background-color:white;
~>2)最佳实践
通过SceneViewer
在每个VBox或标签上添加样式类,并为应用程序使用外部css文件:
.styleClassName {
-fx-background-color:white;
}
~>3)
您可以为每个VBox或标签添加唯一的id,并使用以下命令将其样式修改到Java代码中:
elementID.setStyle(" -fx-background-color:white; ");
提到:
大多数JavaFX布局的默认背景色都是灰色的,因此您必须对其进行更改。恐怕SceneBuilder的效果不太好 你在用这个 从javadoc: 底部输入颜色分量除以顶部输入颜色分量的倒数,以生成结果颜色 因此,给定背景颜色分量
B
和文本颜色分量T
,输出p
的分量计算如下:
P = min(B / (1 - T), 1)
(此处为范围[0,1]
中的组件)
用于标签
文本颜色的颜色中没有一种颜色分量比0.13
暗,因此B/(1-T)>=B/0.87
表示任何含有(0.87,0.87,0.87)
或更亮分量的背景颜色将显示为白色。JavaFX场景中的默认背景就是这种情况。因此,白色是预期的颜色
也许您应该使用不同的blendMode
或将AnchorPane
背景更改为较暗的颜色,以查看文本的颜色:
预期的输出是什么?在SceneBuilder中,我什么也看不到。这是预期的吗?预期的背景色是什么?预期的输出是在第一种情况下,我希望看到白色背景上的红色字体,在其他情况下,我希望看到白色背景上的蓝色字体。当我启动应用程序时,我看到灰色背景上的白色字体。预期输出是如何保存用于修改VBOX背景的css?您希望它如何更改?