Javafx 2 JavaFX如何使用CSS更改tableview列的背景色?

Javafx 2 JavaFX如何使用CSS更改tableview列的背景色?,javafx-2,fxml,scenebuilder,Javafx 2,Fxml,Scenebuilder,使用javafx场景生成器,我创建了一个包含少量可编辑列和少量不可编辑列的TableView。如何为不可编辑的列设置CSS样式,以使整个列变灰。 我创建了一个样式类,如下所示,并将其映射到javafx场景生成器中的表列。但它不起作用 .greyout1 .table-column-cell{ -fx-background-color:rgb(243,243,243); -fx-border-color:rgb(159,159,159); } 在论坛上搜索,找不到设置tableview列样式的解

使用javafx场景生成器,我创建了一个包含少量可编辑列和少量不可编辑列的TableView。如何为不可编辑的列设置CSS样式,以使整个列变灰。 我创建了一个样式类,如下所示,并将其映射到javafx场景生成器中的表列。但它不起作用

.greyout1 .table-column-cell{
-fx-background-color:rgb(243,243,243);
-fx-border-color:rgb(159,159,159);
}

在论坛上搜索,找不到设置tableview列样式的解决方案。您能建议一种方法吗?

试试这个,它非常有效

      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);
                }
            }
        };
email.setCellFactory(新回调(){
@凌驾
公共TableCell调用(TableP列){
返回新的TableCell(){
@凌驾
public void updateItem(字符串项,布尔值为空){
super.updateItem(项,空);
如果(!isEmpty()){
此.setStyle(“-fx背景色:红色”);
setText(项目);
}
}
};