向 Tableview Javafx 动态添加和删除 tablecolumn

Posted

技术标签:

【中文标题】向 Tableview Javafx 动态添加和删除 tablecolumn【英文标题】:Adding and removing tablecolumn dynamically to Tableview Javafx 【发布时间】:2022-01-20 02:44:00 【问题描述】:

收到我的问候大家!我是javafx的新手。对于我的第一个Javafx项目,我想创建一个tableview,它的Tablecolumns根据事件发生变化。假设第一次,我的tableview有4列,例如(名称,age,email,address)。在一个事件之后,我想为我的 tableview 添加 tablecolumn 职业现在有 5 列(name,age,email,adress,profession)。在另一个事件之后,我想删除职业我的 tableview 又有 4 个 tablecolumns。谢谢你的帮助。对不起我的英语。

【问题讨论】:

学习有关 java 基本 API 的教程(列 is-a 列表) 我正在使用 Scenebuilder。我没有用 java 编写 UI。 非常感谢!我会考虑的 【参考方案1】:

您的表格视图有四列,因此您已经知道如何向表格视图添加列。添加另一个也不例外,(除非您最初使用 FXML 定义了列)。无论如何,代码中列的添加和删除如下所示。

创建新列(添加适当的泛型类型信息和初始化代码):

final TableColumn fifthColumn = new TableColumn("Alien resistance");
// initialize the column

当你收到一个事件时,添加第五列:

Button insurrection = new Button("Add"):
insurrection.setOnAction(e ->
     tableView.getColumns().add(
          fifthColumn
    )
);

对于移除按钮的操作也是如此:

Button failedCoup = new Button("Remove"):
failedCoup.setOnAction(e ->
     tableView.getColumns().remove(
          fifthColumn
     )
);

【讨论】:

挑剔:您的表格视图有四列,因此您已经知道如何添加列不一定:它们可能是通过 fxml 添加的 :) 是的,似乎是这样,在答案中注明了。

以上是关于向 Tableview Javafx 动态添加和删除 tablecolumn的主要内容,如果未能解决你的问题,请参考以下文章

JavaFX TableView 动态列和数据值

如何在 JavaFx TableView 中添加 TableView 页脚

JavaFX 动态添加新的文本字段

如何在 JavaFX 中将 CheckBox 添加到 TableView

如何将行和列添加到 JavaFX 8 TableView

javafx tableview 检测任何行的任何更改,包括添加新行