Skip to main content
 首页 » 编程设计

用于非焦点选择的 JavaFX ListView 和 TableView CSS

2023年09月11日25pander-it

我的样式表中确实没有任何内容,但是

.root { 
    -fx-accent: #a9d5f9; 
} 

我想改变这个颜色。表格不再聚焦时所选行的颜色。

找了一段时间,除了这个我几乎找到了所有东西。

请您参考如下方法:

这两个选择器应该为 ListView 做这件事:

.list-cell:filled:selected { 
    -fx-background: orange; 
} 
 
.list-view:focused > .virtual-flow > .clipped-container > .sheet > .list-cell:filled:selected { 
    -fx-background: -fx-selection-bar; 
} 

要在 TableView 中使用相同的颜色(单元格和行选择),您可以添加更多选择器:

.table-row-cell:filled:selected, 
.tree-table-row-cell:filled:selected, 
.table-row-cell:filled > .table-cell:selected, 
.tree-table-row-cell:filled > .tree-table-cell:selected, 
.list-cell:filled:selected { 
    -fx-background: orange; 
} 
 
.table-view:focused > .virtual-flow > .clipped-container > .sheet > .table-row-cell:filled:selected, 
.tree-table-view:focused > .virtual-flow > .clipped-container > .sheet > .tree-table-row-cell:filled:selected, 
.table-view:focused > .virtual-flow > .clipped-container > .sheet > .table-row-cell .table-cell:selected, 
.tree-table-view:focused > .virtual-flow > .clipped-container > .sheet > .tree-table-row-cell .tree-table-cell:selected , 
.list-view:focused > .virtual-flow > .clipped-container > .sheet > .list-cell:filled:selected { 
    -fx-background: -fx-selection-bar; 
} 

注意:这些选择器甚至针对 TreeTableViews

结果: