如何在JavaFX中使用CSS模拟焦点丢失样式?

如何在JavaFX中使用CSS模拟焦点丢失样式?,css,javafx-8,Css,Javafx 8,在我的应用程序中,我有一个特定的样式,说明应该使用黄色来表示必填字段。在我的网格中,我实现了以下功能: .table-cell-required-field { -fx-control-inner-background: -sif-required_field-color; -fx-background-color:-fx-table-cell-border-color, -fx-control-inner-background; -fx-border-color: de

在我的应用程序中,我有一个特定的样式,说明应该使用黄色来表示必填字段。在我的网格中,我实现了以下功能:

.table-cell-required-field {
    -fx-control-inner-background: -sif-required_field-color;
    -fx-background-color:-fx-table-cell-border-color, -fx-control-inner-background;
    -fx-border-color: deepskyblue  deepskyblue  deepskyblue  deepskyblue ;
    -fx-background-insets: 0, 0 0 1 0;
    -fx-padding: 0.0em;
    -fx-text-fill: -fx-text-inner-color;
}


.table-cell-required-field:selected {
    -fx-background-color: -fx-focus-color, -fx-cell-focus-inner-border, -fx-focus-color;
    -fx-background-insets: 0, 1, 2;
}
这工作得很好-但是,当表格没有聚焦时,所选字段将保持-fx focus color,而不是恢复到modena中的标准颜色,该颜色为灰色-这会让用户感到困惑

我也曾尝试将focus用作psuedo类,但在ScenicView中,两个单元格都显示选中和聚焦,这一点没有改变

下面是一个例子,说明了当表格没有焦点时我需要做什么:

但是,当我选择必填字段,然后选择另一个表时,它将保持蓝色-当它没有焦点时,我需要它变为灰色。

我将感谢任何帮助我所缺少的

谢谢

试试看

.表格单元格必填字段{ -fx控件内部背景:-sif-必填_字段-颜色; -fx背景颜色:-fx表格单元格边框颜色,-fx控件内部背景; -fx边框颜色:深蓝深蓝深蓝深蓝深蓝深蓝; -外汇背景插图:0,0 1 0; -fx填充:0.0em; -fx文本填充:-fx文本内部颜色; } .表格视图.表格单元格必填字段:选中{ -fx背景颜色:-fx焦点颜色,-fx单元格焦点内边框,-fx选择栏未聚焦; -外汇背景插图:0,1,2; } .表格视图:聚焦。表格单元格必填字段:选中{ -fx背景色:-fx焦点颜色,-fx单元格焦点内边框,-fx焦点颜色; -外汇背景插图:0,1,2; }
通常,对于这一级别的样式设置,我会查看默认的modena.css样式表,您可以从jfxrt.jar文件中提取该样式表,或者查看。

谢谢-顶部部分起作用-底部部分保持与以前相同的行为。我搜索了modena.css,但看不出哪里出了问题。