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 控件,例如 TextFieldCheckBox 等。

对于其他 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的主要内容,如果未能解决你的问题,请参考以下文章

如何从 JavaFX 中的 UI 控件中检索阶段

JavaFX Scene Builder 怎么用???

将上下文添加到 UI 控件或 NSObject

JavaFx的一些总结

JavaFX - SQL 查询的后台线程

JavaFX - SQL 查询的后台线程