Как правильно указал James_D, вы можете использовать ProgressBarTreeTableCell
для столбца с ProgressBars. Существует внутренние опоры для некоторых других элементов управления пользовательского интерфейса, такие как TextField
, CheckBox
и т.д.
Для других элементов управления пользовательского интерфейса вы можете создать собственный TreeTableCell
, как показано:
private class ProgressCell extends TreeTableCell<Employee, String> {
final ProgressBar progress = new ProgressBar();
ProgressCell() {
}
@Override
protected void updateItem(String t, boolean empty) {
super.updateItem(t, empty);
if (!empty) {
setGraphic(progress);
}
}
}
и затем назначьте CellFactory
ко второму столбцу
secondCol.setCellFactory(
new Callback<TreeTableColumn<Employee, String>, TreeTableCell<Employee, String>>() {
@Override
public TreeTableCell<Employee, String> call(
TreeTableColumn<Employee, String> param) {
return new ProgressCell();
}
});
где Employee
класс POJO, на котором табличного дерева построен
См. Http://stackoverflow.com/questions/16721380/javafx-update-progressbar-in-tableview-from-task, который делает то же самое для 'TableView' –