我正在设计 TableView 的样式。我将边框颜色设置为白色(与背景颜色相同),因此它是不可见的。但是,当表格获得焦点时,边框会变成蓝色。我尝试添加
table-view:focused { -fx-border-color: white; }
来修复它,但没有帮助。我该如何解决这个问题?
我没有添加屏幕截图,因为当我点击
Print Screen
时,表格失去焦点。
下面是我的完整样式表(如果相关的话):
.table-view .column-header,
.table-view .column-header .filler,
.table-view .column-header-background .filler {
-fx-background-color: white;
-fx-border-width: 0;
}
.table-view .column-header {
-fx-font-size: 16px;
-fx-border-width: 0 0 1 0;
-fx-border-color: #efefef;
}
.table-view .column-header .label {
-fx-alignment: center_left;
-fx-font-size: 16pt;
-fx-padding: 5 0 15 0;
}
.table-row-cell,
.table-row-cell:odd {
-fx-background-color: white;
}
.table-row-cell:hover {
-fx-background-color: #efefef;
}
.table-row-cell:selected {
-fx-background-color: white;
-fx-text-fill: black;
}
.table-view .table-cell {
-fx-border-color: efefef;
-fx-border-width: 1 0 0 0;
-fx-font-size: 14px;
-fx-padding: 5 3 15 3;
}
.table-view {
-fx-border-color: white;
}
.table-view:focused .table-cell {
-fx-text-fill: black;
}
如果您使用 Outline CSS 属性并将其设置为 none,则应删除添加到表格中的蓝色边框。 所以,在这里设置轮廓:当聚焦时,你的桌子上没有轮廓。
.table-view:focus {
outline: none;
}
我是这样解决问题的:
.table-view:focused {
-fx-background-color: -fx-box-border, -fx-control-inner-background;
-fx-background-insets: 0, 1;
}
我用于聚焦表格视图的声明与非聚焦表格视图相同 - 请参阅https://gist.github.com/maxd/63691840fc372f22f470#file-modena-css-L618