Древовидное представление таблицы JavaFX8 настраивает отдельные ячейки

В древовидном представлении таблицы есть дочерние элементы, которые, в свою очередь, имеют другие дочерние элементы. Мне нужно настроить, скажем, текст определенных ячеек этих псевдокорневых элементов.

Есть ли способ назначить класс/стиль css этим элементам?

Обновление:
Хорошо, заработало со следующей фабрикой ячеек:

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 мне нужно знать, какого типа текущая ячейка->элемент, чтобы применить к ней другой стиль.
Спасибо.


person Mike Spike    schedule 22.04.2014    source источник


Ответы (1)


Вы можете использовать instanceof:

FileModel fileModel = getTreeTableRow().getItem();
if(fileModel instanceof ExeFileModel){
   //set style here
} else if(fileModel instanceof TxtFileModel){
   //use another style here
}
person damat-perdigannat    schedule 28.04.2014
comment
Я не могу получить экземпляр TableRow..only TableColumn, по крайней мере, я не знаю, как это сделать. - person Mike Spike; 28.04.2014
comment
Конечно! Это было так очевидно. Прости, что не заметил. Спасибо! - person Mike Spike; 29.04.2014