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

时间:2013-10-23 11:30:31

标签: 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专栏的解决方案。请问你能提出一个方法吗?

1 个答案:

答案 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);
                }
            }
        };