禁用非焦点列表视图

时间:2017-03-07 10:06:05

标签: css listview javafx

在我的应用程序中,我有多个列表视图。当我在其中一个列表视图中选择一个单元格时,其他列表视图中的所有选定单元格都是灰色的(表示它们已在列表视图中选中)。我一直在试图找出如何禁用“灰色选择器”,以便我们只看到一个listview,就好像它刚刚创建一样。

目前,我很清楚他们的“灰色选择器”是正常的,没有聚焦的行为的一部分(见图)。所以我的想法是在列表视图聚焦时,或者当列表视图没有聚焦时,为选定的列表单元定义不同的颜色。但我没有发现任何可以区分这种差异的东西(使用CSS)。

enter image description here

1 个答案:

答案 0 :(得分:2)

modena.css文件中,您可以找到以下选择器来更改所选单元格的颜色:

/* Selected rows */
.list-view:focused > .virtual-flow > .clipped-container > .sheet > .list-cell:filled:selected {
    -fx-background: -fx-selection-bar;
    -fx-table-cell-border-color: derive(-fx-selection-bar, 20%);
}

/* Selected when control is not focused */
.list-cell:filled:selected {
    -fx-background: -fx-selection-bar-non-focused;
    -fx-table-cell-border-color: derive(-fx-selection-bar-non-focused, 20%);
} 

只需将-fx-background更改为-fx-background-color并选择颜色即可。请注意,此解决方案将更改应用程序中所有ListViews的颜色。