JavaFX/CSS:更改ComboBox所选项目的文本颜色
问题描述:
我正在使用名为JFoenix的自定义JavaFX库,它使用Google的Material Design改造了一些JavaFX组件。我特别遇到的问题是在选择了字符串选定项目后,更改组合框的文本颜色。 This is my before screen, with the item in question circled.JavaFX/CSS:更改ComboBox所选项目的文本颜色
当我从组合框(see screenshot here)中选择一个项目时,文本从灰色变为黑色。我希望所选项目的文本与其余标签的颜色相同。在Scene Builder中添加-fx-text-fill
或-fx-text-inner-color
不起作用。
惟一可行的办法,我发现是使组合框可编辑,并通过用户后的编辑器设置颜色选择一个选项:
@FXML
private void handleComboBoxFormat() {
this.mpaaBox.getEditor().setStyle("-fx-text-fill: #eceff1;" + "-fx-background-color: #445566");
}
,因为我不知道我不喜欢这样的解决方案想要ComboBox是可编辑的,它只是感觉混乱。有没有其他的方式来编辑文字颜色?谢谢!
答
-fx-text-fill
未在组合框中定义。
但看完CSS Reference Guide我看结构:
.combo-box > .list-view > .list-cell
其中.list-cell
定义-fx-text-fill
继承标记。
答
好的,所以在与@MouseEvent建议的CSS混淆之后,我想出了解决方案。
.combo-box .list-view .list-cell
当您打开弹出窗口时会影响ComboBox列表中的项目。
.combo-box .list-cell
影响选定项目的标签,这是我在访问时遇到的问题。
我认为他们有自己的一套CSS字段,前缀为'-jfx-'。看看他们的网站(我发现很难使用该网站,因为导航覆盖了实际的内容)。 – Mordechai
你说得对,但只有这三个:'-jfx-focus-color','-jfx-unfocus-color'和'-jfx-label-float',其中没有一个能够解决文本问题。 – 8m4c
尝试重点颜色。 – Mordechai