2016-11-10 1 views
0

У меня есть код, как это для tablecells в моем .css файла:JavaFX-8 набор цветов для выбранного TableRow

.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, он не использует цвета, указанные для выбранных TableRows (по умолчанию - голубой). Я пробовал добавить код, подобный этому:

.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-коде? Или я ошибаюсь.

ответ

0

TableView находится в «режиме выбора строки», из-за чего :selected pseudoclass добавляют к TableRow, содержащей TableCell. Следующие 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; 
}