JavaFX:将UI控件添加到TreeTableView
假设我在TreeTableView中有2列,现在我想在第一列中添加字符串/ Label,在另一列中添加ProgressBar。 我将如何完成这样的事情?
真的很感激任何帮助!
正如James_D正确指出的那样,您可以将ProgressBarTreeTableCell
用于具有ProgressBars的列。 有一些其他UI控件的内部支持,如TextField
, CheckBox
等。
对于其他UI控件,您可以创建Custom TreeTableCell
,如下所示:
private class ProgressCell extends TreeTableCell { 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, TreeTableCell>() { @Override public TreeTableCell call( TreeTableColumn param) { return new ProgressCell(); } });
其中Employee
是构建TreeTableView的POJO类