JavaFX:将UI控件添加到TreeTableView

假设我在TreeTableView中有2列,现在我想在第一列中添加字符串/ Label,在另一列中添加ProgressBar。 我将如何完成这样的事情?

真的很感激任何帮助!

正如James_D正确指出的那样,您可以将ProgressBarTreeTableCell用于具有ProgressBars的列。 有一些其他UI控件的内部支持,如TextFieldCheckBox等。

对于其他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类