我正在使用一个名为JFoenix的自定义JavaFX库,它使用Google的Material Design改进了一些JavaFX组件。我特别遇到的问题是改变字符串ComboBox的文本颜色。选择后选择的项目。 This is my before screen, with the item in question circled.
当我从ComboBox(see screenshot here)中选择一个项目时,文本从灰色变为黑色。我希望所选项目中的文本与其他标签的颜色相同。在Scene Builder中添加-fx-text-fill
或-fx-text-inner-color
并不起作用。
我发现唯一可行的解决方案是在用户选择一个选项后,使ComboBox可编辑并通过其编辑器设置颜色:
@FXML
private void handleComboBoxFormat() {
this.mpaaBox.getEditor().setStyle("-fx-text-fill: #eceff1;" + "-fx-background-color: #445566");
}
我不喜欢这个解决方案,因为我不希望ComboBox可以编辑,而且感觉很麻烦。有没有其他方法来编辑文本颜色?谢谢!
答案 0 :(得分:1)
-fx-text-fill
未在组合框中定义。
但是阅读CSS Reference Guide我看到了结构:
.combo-box > .list-view > .list-cell
其中.list-cell
定义继承自Labeled的-fx-text-fill
。
答案 1 :(得分:1)
好的,所以在弄乱@MouseEvent建议的CSS后,我想出了解决方案。
打开弹出窗口时, .combo-box .list-view .list-cell
会影响ComboBox列表中的项目。
.combo-box .list-cell
会影响所选项目的标签,这是我无法访问的。