gpt4 book ai didi

java - 在 Java 中从 TableModel 中删除列

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:14:35 25 4
gpt4 key购买 nike

在 Java 中,我使用 DefaultTableModel 将列动态添加到 JTable。

//create DefaultTableModel with columns and no rows
DefaultTableModel tableModel = new DefaultTableModel(columnNames, 0);
JTable table = new JTable(tableModel);

columnNames 变量是一个包含列名的字符串数组。因此,在程序启动并运行后,用户可以选择添加其他列。我这样做如下

tableModel.addColumn("New column name");

根据需要将列动态添加到表中。用户还可以删除添加的列。为此,我使用以下代码:

          TableColumn tcol = table.getColumnModel().getColumn(0);
table.getColumnModel().removeColumn(tcol);

应该删除指定索引处的列,我也试过:

table.removeColumn(sheet.getColumn(assessmentName));

它们都可以(在视觉上)工作,但问题就在这里。删除添加的列后,如果添加另一列并且刷新表,则先前删除的列又出现了。因此,虽然它在视觉上移除了列,但最后两个代码片段都没有真正将其从模型中移除。我在这里假设,既然该列已添加到需要从中删除的模型中?是否有我需要调用的特定方法或我需要实现的一些逻辑来删除该列?

最佳答案

对于您的 table ,请尝试调用 table.setAutoCreateColumnsFromModel(false);

This post有一个关于如何删除列和基础数据的很好的例子。

关于java - 在 Java 中从 TableModel 中删除列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5938436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com