我想在选择时更改tableView(javafx)背景的颜色,但我有一条蓝线(颜色与突出显示颜色相同):example
这是我的CSS代码:
.table-view {
-fx-faint-focus-color: transparent;
-fx-focus-color: transparent;
}
.table-view .table-row-cell:selected {
-fx-body-color: #CEDAE3;
-fx-background-color: #CEDAE3;
-fx-text-fill: black;
}
.table-view:focused {
-fx-background-color: transparent,-fx-box-border,-fx-control-inner-background;
}
你能帮助我吗?
答案 0 :(得分:1)
默认样式表modena.css
具有规则
.table-view:focused > .virtual-flow > .clipped-container > .sheet > .table-row-cell .table-cell:selected {
-fx-background: -fx-selection-bar;
-fx-table-cell-border-color: derive(-fx-selection-bar, 20%);
}
这会将所选行中单元格中的-fx-background
查找颜色设置为-fx-selection-bar
,将-fx-table-cell-border-color
查找颜色设置为比它轻20%的颜色。
table-cell
通过
.table-cell {
-fx-padding: 0.166667em; /* 2px, plus border adds 1px */
-fx-background-color: null;
-fx-border-color: transparent -fx-table-cell-border-color transparent transparent;
-fx-cell-size: 2.0em; /* 24 */
-fx-text-fill: -fx-text-background-color;
}
因此,在所选行的单元格中,您会看到由-fx-selection-bar
定义的右边框。
-fx-selection-bar
的默认设置位于样式表的顶部:
/* A bright blue for highlighting/accenting objects. For example: selected
* text; selected items in menus, lists, trees, and tables; progress bars */
-fx-accent: #0096C9;
/* ... */
-fx-selection-bar: -fx-accent;
因此,您可以通过为表格视图重新定义-fx-accent
来删除此边框:
.table-view {
-fx-accent: transparent ;
-fx-faint-focus-color: transparent;
-fx-focus-color: transparent;
}
答案 1 :(得分:0)
您可以使用此规则更改tableView的外边框和内边框的颜色:
.table-row-cell:selected {
-fx-border-color: black;
-fx-table-cell-border-color: black;
}