2014-04-22 1 views
0

트리 테이블 뷰에는 차례대로 다른 하위 항목이있는 하위 항목이 있습니다. 나는 pseudo-root 항목의 특정 셀의 텍스트를 사용자 정의해야합니다.JavaFX8 트리 테이블 뷰는 별도의 셀을 사용자 정의합니다.

해당 항목에 CSS 클래스/스타일을 할당하는 방법이 있습니까?

업데이트 :
좋아, 그 다음 cellFactory 작업있어 : 이제

treeTblColumnName.setCellFactory(new Callback<TreeTableColumn<FileModel, String>, TreeTableCell<FileModel, String>>() { 
     @Override 
     public TreeTableCell<FileModel, String> call(TreeTableColumn<FileModel, String> param) { 
      TreeTableCell<FileModel, String> cell = new TreeTableCell<FileModel, String>() { 

       @Override 
       protected void updateItem(String t, boolean bln) { 
        super.updateItem(t, bln); //To change body of generated methods, choose Tools | Templates.       

        System.out.println(this.getTableColumn().); 
        Label lbl = new Label(t); 
        lbl.setStyle("-fx-font-weight: bold; -fx-font-size: 14pt; -fx-text-fill: white;"); 
        setGraphic(lbl); 

       } 

      }; 
      return cell; 
     } 

    }); 

, 나는 수업 사이에 어떻게 구별 할 수 있습니까? FileModel은 여러 클래스로 구현되는 인터페이스입니다. 이 cellFactory에서 다른 스타일을 적용하려면 현재 셀 유형이 무엇인지 알아야합니다.
감사합니다.

답변

0

당신은 instanceof를 사용할 수 있습니다

FileModel fileModel = getTreeTableRow().getItem(); 
if(fileModel instanceof ExeFileModel){ 
    //set style here 
} else if(fileModel instanceof TxtFileModel){ 
    //use another style here 
} 
+0

내가 TableRow..only TableColumn의 인스턴스를 얻을 수 없다, 어떻게 적어도 내가 아는하지 않습니다. –

+0

제 편집을 참조하십시오. –

+0

물론! 너무나 명백했습니다. 그것을 알아 채지 못한 것에 대해 유감스럽게 생각합니다. 감사! –