JavaFX:将 UI 控件添加到 TreeTableView
Posted
技术标签:
【中文标题】JavaFX:将 UI 控件添加到 TreeTableView【英文标题】:JavaFX: Add UI control to TreeTableView 【发布时间】:2014-12-01 17:38:53 【问题描述】:假设我在 TreeTableView 中有 2 列,现在我想在第一列中添加一个字符串/标签,在另一列中添加一个 ProgressBar。我将如何完成这样的事情?
非常感谢任何帮助!
【问题讨论】:
参见***.com/questions/16721380/…,TableView
的作用相同
【参考方案1】:
正如 James_D 正确指出的那样,您可以将 ProgressBarTreeTableCell
用于带有 ProgressBars 的列。内部支持一些其他 UI 控件,例如 TextField
、CheckBox
等。
对于其他 UI 控件,您可以创建自定义 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
是构建 TreeTableView 的 POJO 类
【讨论】:
总是先检查API ;)ProgressBarTreeTableCell
,这很酷。让 OP 将其用于那些 JavaFX 未提供 CellFactories 的控件;-)以上是关于JavaFX:将 UI 控件添加到 TreeTableView的主要内容,如果未能解决你的问题,请参考以下文章