编辑时的JavaFX CSS样式表视图单元格

编辑时的JavaFX CSS样式表视图单元格,java,css,javafx,tableview,cell,Java,Css,Javafx,Tableview,Cell,我试图在更改文本时更改TableView单元格的CSS样式,但找不到任何选择器。 在图像上,您可以看到白色/蓝色边框,这就是我想要更改的内容 如果要更改蓝色边框或背景,可以尝试更改TextFieldTableCell的属性。我可以通过以下操作将蓝色边框更改为红色: TextFieldTableCell > * { -fx-border-color: red; } 您还可以通过更改TextFieldTableCell>*:focused的背景色来更改聚焦单元格内部的颜色(写入时)

我试图在更改文本时更改
TableView单元格的
CSS样式
,但找不到任何选择器。 在图像上,您可以看到白色/蓝色边框,这就是我想要更改的内容


如果要更改蓝色边框或背景,可以尝试更改
TextFieldTableCell
的属性。我可以通过以下操作将蓝色边框更改为红色:

TextFieldTableCell > * {
    -fx-border-color: red;
}
您还可以通过更改
TextFieldTableCell>*:focused的背景色来更改聚焦单元格内部的颜色(写入时)

我认为您提到的白色边框是选择单元格的常规颜色(
:select
)。您可以在不聚焦时通过更改所选内容的颜色来更改它:
。表格行单元格:已选定

我用这个css来改变白色边框、蓝色边框和背景(聚焦和非聚焦):


注意:在我的示例中,紫色只有在编辑字段外单击时才可见,它是未聚焦的背景色。

本周我遇到了相同的问题。我就是这样解决的:

.text-field-table-cell .text-field {
   -fx-padding: 1; 
   -fx-border-color:red; 
   -fx-background-color:yellow;
}
.table-cell:focused {
   -fx-padding: 0;
}
这还可以防止行高度发生变化

正常模式:

编辑模式:

如果你对焦点颜色感兴趣,你应该看看modena.css。在那里你会找到e。g

/* A bright blue for the focus indicator of objects. Typically used as the
 * first color in -fx-background-color for the "focused" pseudo-class. Also
 * typically used with insets of -1.4 to provide a glowing effect.
 */
-fx-focus-color: #f25f29;
-fx-faint-focus-color: #f25f2933;

能否显示与
表视图相关的css?您使用的是
TextFieldTableCell
还是您自己的
TableCell
实现?以下是我使用的CSS(大部分是从caspian.CSS复制的):。是的,我正在使用TextFieldTableCell。发布的CSS看起来有点像我发布的图片-我设法改变它,使白色边框变成蓝色边框。但仅仅是尝试和错误,我仍然没有找到正确的选择器。是的,今天。但这是一个混乱的一个。你得摆弄一下垫子。将padding设置为2会拉伸文本字段,它看起来正常。如果设置边框颜色,则应用默认边框大小1,并且必须将填充设置为1。然后在顶部和左侧仍然有一条1像素的灰线。我刚刚注意到默认颜色也有,如果你在正常模式下仔细观察内边框。
/* A bright blue for the focus indicator of objects. Typically used as the
 * first color in -fx-background-color for the "focused" pseudo-class. Also
 * typically used with insets of -1.4 to provide a glowing effect.
 */
-fx-focus-color: #f25f29;
-fx-faint-focus-color: #f25f2933;