使用javafx场景构建器,我创建了一个包含少量可编辑列和少量不可编辑列的TableView。如何为不可编辑的列设置CSS样式,以便整个列显示为灰色。 我创建了一个类似下面的样式类,并将其映射到javafx场景构建器中的表列。但它没有用。
.greyout1 .table-column-cell{
-fx-background-color:rgb(243,243,243);
-fx-border-color:rgb(159,159,159);
}
搜索论坛,找不到样式tableview专栏的解决方案。请问你能提出一个方法吗?
答案 0 :(得分:5)
尝试这个,它完美地工作......
email.setCellFactory(new Callback<TableColumn<CheckDo, String>, TableCell<CheckDo, String>>() {
@Override
public TableCell<CheckDo, String> call(TableColumn<CheckDo, String> p) {
return new TableCell<CheckDo, String>() {
@Override
public void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (!isEmpty()) {
this.setStyle("-fx-background-color:red");
setText(item);
}
}
};