JavaFX ListCell选择了颜色

时间:2016-03-14 13:43:40

标签: css listview javafx javafx-8

我尝试使用CSS更改ListView中所选项目的颜色。

.contact-list-cell:selected {
    -fx-background-color: green;
}
.list-view:focused .contact-list-cell:selected {
    -fx-background-color: green;
}

但它仅在父ListView失去焦点时起作用。

我知道标准的JavaFX Caspian主题使用.list-view:focused .list-cell:focused:selected:etc{...}选择器。但我无法找到能做到这一点的简单组合。

2 个答案:

答案 0 :(得分:1)

默认样式表modena.css根据"查找颜色"定义颜色。更改样式的最佳方法是覆盖这些查找颜色的定义:

.list-view {
    -fx-selection-bar:green ;
}

将更改所选的聚焦颜色。如果您还想在未聚焦时更改选择颜色,则可以执行

.list-view {
    -fx-selection-bar:green ;
    -fx-selection-bar-non-focused: green ;
}

答案 1 :(得分:0)

与往常一样,查看实际来源比阅读文档更好。在JavaFX 8 caspian.css中我找到了解决方案:

.list-view:focused > .virtual-flow > .clipped-container > .sheet > .contact-list-cell:focused {
    -fx-background-color: green;
}