我正在创建一个 JTable,它允许用户从视图中隐藏特定的列和/或行。为了隐藏列,我在 JTable 中使用 removeColumn 方法来删除负责显示数据的列。要删除行,我必须在我的表模型中实现一个扩展 AbstractTableModel 的方法,以从支持数据中删除行,然后调用 fireTablesRowDeleted(rowIndex, rowIndex)。
所有这一切都很好,除非我在隐藏一列后删除一行,因为 fireTablesRowDeleted 方法从头开始重绘表,所以该列被取消隐藏。有没有办法防止隐藏的列重新出现?我试图保留所有隐藏列索引的列表,因此一旦对 removeRow 的调用返回,我就可以重新隐藏它们,但这似乎不起作用。先感谢您。