我有ListView
和ListCells
。每ListCell
我做setStyle(-fx-background-color: #000000)
。
问题是这会覆盖单元格的“:hover”,“:selected”...背景,但我想保留它们。
是否有解决方案只是在没有悬停或焦点的情况下覆盖默认背景颜色?
答案 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文件中覆盖它,如果你想要它是另一种颜色或根本没有颜色定义