我试图对此进行研究,但找不到任何示例。我发现的示例仅与普通 TableView 有关。我只能用一个对象创建一个 JFXTreeTableView 并列出字符串。任何帮助,将不胜感激!谢谢!
我需要将一个按钮或基本上除字符串之外的任何其他对象放入 TreeTableView。
我试图对此进行研究,但找不到任何示例。我发现的示例仅与普通 TableView 有关。我只能用一个对象创建一个 JFXTreeTableView 并列出字符串。任何帮助,将不胜感激!谢谢!
我需要将一个按钮或基本上除字符串之外的任何其他对象放入 TreeTableView。
参考这篇文章,我试图将按钮(特别是 JFXButton)添加到 TreeTableView(特别是 JFXTreeTableView) 中如何在 JavaFX 表视图中添加按钮
但是,这篇文章只讨论了 TableView。在分析了代码之后,我尝试修改代码以使用 TreeTableView 和 TreeTableCell。
使用来自JFoenix的示例代码并按照下面的代码片段对其进行修改,我可以将 JFXButton 加载到 JFXTreeTableView 中。(也适用于普通按钮。只需将 JFXButton 替换为 Button)
JFXTreeTableColumn<User, String> settingsColumn = new JFXTreeTableColumn<>("Others");
settingsColumn.setPrefWidth(100);
Callback<TreeTableColumn<User, String>, TreeTableCell<User, String>> cellFactory
= //
new Callback<TreeTableColumn<User, String>, TreeTableCell<User, String>>() {
@Override
public TreeTableCell call(final TreeTableColumn<User, String> param) {
final TreeTableCell<User, String> cell = new TreeTableCell<User, String>() {
final JFXButton btn = new JFXButton("Just Do it");
@Override
public void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setGraphic(null);
setText(null);
} else {
btn.setButtonType(JFXButton.ButtonType.RAISED);
btn.setOnAction(event -> {
//Button Action here
});
setGraphic(btn);
setText(null);
}
}
};
return cell;
}
};
settingsColumn.setCellFactory(cellFactory);
//Also remember to add the new column in
treeView.getColumns().setAll(deptColumn, ageColumn, empColumn, settingsColumn);