答案 0 :(得分:3)
焦点边框着色由两个CSS属性scatteredInterpolant
和-fx-focus-color
控制。
在大多数情况下,使用-fx-faint-focus-color
就足够了,例如将此类添加到CSS文件中:
-fx-focus-color
或直接在Java代码中:
.table-view {
-fx-focus-color: red;
}
但你也可以覆盖两者:
table.setStyle("-fx-focus-color: red;");
<强>背景强>
通过检查默认样式表 modena.css :
.table-view {
-fx-focus-color: red;
-fx-faint-focus-color: white;
}
它发现这些颜色在.table-view:focused{
-fx-background-color: -fx-faint-focus-color, -fx-focus-color, -fx-control-inner-background;
-fx-background-insets: -1.4, -0.3, 1;
-fx-background-radius: 2, 0, 0;
}
伪类中用作具有各种背景插入的背景颜色。因此,对此伪类的修改可能会影响焦点边框(例如边框的宽度)。
注1:如果要完全删除突出显示,可以将这些属性设置为:focused
。
注2:要对每个-fx-focus-color: transparent;
应用相同的高亮颜色,您可以使用CSS文件中的Node
类。
答案 1 :(得分:0)
感谢https://jsfiddle.net/rzy7L8gh/1/,我能够提出这个解决方案:
某种方式-fx-focus-color:
与-fx-background-insets:
组件TableView
无法合并。
但-fx-background-insets:
适用于-fx-faint-focus-color:
。因此我的css解决方案如下所示:
.table-view:focused {
-fx-faint-focus-color: red;
-fx-background-insets: -3, 1, 2, 1;
}
现在它的工作完美!希望我们能帮助你的未来。