2013-10-23 61 views
3

使用javafx场景生成器我hava创建了一个包含少量可编辑列和少量不可编辑列的TableView。如何为不可编辑的列设置CSS样式,以便整列显示为灰色。 我已经创建了如下所示的样式类,并将其映射到javafx场景构建器中的表列。但它没有奏效。JavaFX如何使用CSS更改tableview列的背景颜色?

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

搜索论坛,找不到解决方案样式tableview columns.Could你请提出一种方法?

回答

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