Я новичок в JavaFX 8 и попытался реализовать TreeTableView с некоторыми элементами управления jfxtras во втором и третьем столбцах. Поэтому я установил клеточные фабрики этих столбцов с помощью специальных TreeCells, например. как это:JavaFX TreeTableView настраиваемый TreeCell с элементами управления
col3.setCellFactory(new Callback<TreeTableColumn<Object, String>, TreeTableCell<Object, String>>() {
@Override
public TreeTableCell<Object, String> call(TreeTableColumn<Object, String> param) {
TreeTableCell<Object, String> cell = new TreeTableCell<Object, String>() {
private ColorPicker colorPicker = new ColorPicker();
@Override
protected void updateItem(String t, boolean bln) {
super.updateItem(t, bln);
setGraphic(colorPicker);
}
};
return cell;
}
});
Теперь я могу видеть ColorPickers и их можно использовать, но колонку как-то не реагирует на расширение или рушится узлы столбца 1 (который показывает информацию Струнный из POJOs). Так, например, если я разрушаю все дерево, в третьем столбце показывается все ColorPickers.
Итак, что еще необходимо для синхронизации столбцов?
спасибо !!
Я не ожидаю, что JFXtras контролировать что-то особенное реализовано за оказанные в таблице. TreeViewTable должен IMHO заботиться о скрытии или показе (содержимого его) ячеек. – tbeernot
На самом деле я выбрал неправильный контроль для своего сообщения - ColorPicker не из jfxtras. Но это то же самое, например. с элементом управления LocalTimeTextField. Значит, вы имеете в виду, что TreeTableView просто не способен обрабатывать элементы управления? Или есть что-то еще, что я мог бы попробовать ...? – clic
Он может справиться с этим просто отлично: проблема в том, что вы говорите всем ячейкам (даже пустым) использовать элемент управления в качестве графического. Вам нужно специально установить графику, только если ячейка не пуста. См. Ответ ... –