设置listcell的背景颜色但保持:悬停:选定的背景颜色

时间:2014-02-15 14:26:07

标签: javafx javafx-2

我有ListViewListCells。每ListCell我做setStyle(-fx-background-color: #000000)

问题是这会覆盖单元格的“:hover”,“:selected”...背景,但我想保留它们。

是否有解决方案只是在没有悬停或焦点的情况下覆盖默认背景颜色?

1 个答案:

答案 0 :(得分:2)

快速解决方案将是

cell.setStyle("-fx-control-inner-background: red");

其中-fx-control-inner-background不是JavaFX CSS属性,而是caspian.css中的预定义颜色(对于JavaFX 2)。

但是,正确的方法是通过覆盖listview / listcell的相关选择器来通过CSS文件自定义样式。

另外请注意,列表视图的:odd行的背景颜色是来自上述-fx-control-inner-background的派生颜色。由于伪类(:focused,:hover,:odd等)不能通过setStlyle()设置,你需要在CSS文件中覆盖它,如果你想要它是另一种颜色或根本没有颜色定义