JavaFX-8 为选定的 TableRow 设置颜色

标签 java css javafx colors javafx-8

我的 .css 文件中有这样的表格单元格代码:

.table-cell-warn
{
    -fx-background-color: aliceblue;
}

.table-cell-error
{
    -fx-background-color: yellow;
}

我已将这些 css 类添加到特定的 TableCells 通过。 o.getStyleClass.add("table-cell-warn")o.getStyleClass.add("table-cell-error")

但是,当我现在选择彩色 TableRow 时,它不会使用为所选 TableRow 指定的颜色(默认情况下为浅蓝色)。我尝试添加这样的代码:

.table-cell-warn:selected
{
    -fx-background-color: #0096C9;
    -fx-accent: #0096C9;
    -fx-focus-color: #039ED3;
}

.table-cell-error:selected
{
    -fx-background-color: #0096C9;
    -fx-accent: #0096C9;
    -fx-focus-color: #039ED3;
}

到 .css 文件,但它没有任何改变。我是否也必须更改我的 Java 代码中的某些内容?还是我走错了路。

最佳答案

TableView 处于“行选择模式”,这就是将 :selected 伪类添加到包含 TableRow 的原因>表格单元格。以下 CSS 应该可以工作:

/* for row selection mode */
.table-row-cell:selected .table-cell-warn,
.table-row-cell:selected .table-cell-error, 
/* for cell selection mode */
.table-cell-warn:selected,
.table-cell-error:selected
{
    -fx-background-color: #0096C9;
    -fx-accent: #0096C9;
    -fx-focus-color: #039ED3;
}

关于JavaFX-8 为选定的 TableRow 设置颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40528994/

相关文章:

javafx - 如何使用复选框显示 javafx 中密码字段的内容

java - 通过索引位置删除双链表中的节点

java - 如何运行多模块maven应用程序?

html - CSS 组织图问题

css - 将 fontawesome 图标垂直对齐到文本区域的中间

javascript - 不要删除悬停在菜单项上的事件类样式

java - ObservableList 不复制

Java:wait()和notify()混淆

java - 如何在 Java If 语句中使用 OR

java - 如何在 Canvas 上实现拖放?