我正在使用一个名为 JFoenix 的自定义 JavaFX 库,它使用 Google 的 Material Design 对一些 JavaFX 组件进行了彻底改造。我特别遇到的问题是在选择后更改字符串组合框的所选元素的文本颜色。 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 是可编辑的,而且感觉很乱。还有其他方法可以编辑文本颜色吗?谢谢!
最佳答案
好的,所以在弄乱了@MouseEvent 建议的 CSS 之后,我找到了解决方案。
.combo-box .list-view .list-cell
在您打开弹出窗口时影响 ComboBox 列表中的元素。
.combo-box .list-cell
影响所选元素的标签,这是我访问时遇到的问题。
关于JavaFX/CSS : Changing text color of ComboBox's selected item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44687960/