0
我有一个包含一些列的TableView。一列包含自定义TableCell节点。我想在选中该行时删除该列单元格中的选择高亮区。如何使用JavaFX从选定的TableRow中的TableCell中删除选择
这里是样本图像这说明什么,我想:
我怎样才能做到这一点?
我有一个包含一些列的TableView。一列包含自定义TableCell节点。我想在选中该行时删除该列单元格中的选择高亮区。如何使用JavaFX从选定的TableRow中的TableCell中删除选择
这里是样本图像这说明什么,我想:
我怎样才能做到这一点?
使用自定义电池工厂的样式类添加到单元格:
firstNameCol.setCellFactory(col -> {
TableCell<Person, String> cell = new TableCell<Person, String>() {
@Override
public void updateItem(String name, boolean empty) {
super.updateItem(name, empty);
if (empty) {
setText("");
} else {
setText(name);
}
}
};
cell.getStyleClass().add("no-select-cell");
return cell ;
});
,然后在外部样式表,恢复为no-select-cell
风格在选择的行为默认值:
.table-row-cell:selected .no-select-cell {
-fx-background: -fx-control-inner-background;
-fx-background-color: -fx-background;
-fx-text-fill: -fx-text-background-color;
}
.table-row-cell:odd:selected .no-select-cell {
-fx-background: -fx-control-inner-background-alt ;
}