如何在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,但看不出哪里出了问题。