如何隐藏JTable中的列,以便仍然可以使用tableModel.getValueAt(row,colHidden)
访问它们?
我这样做了,但后来我无法使用tableModel.getValueAt(row,6)
访问第6列:
tbl.getColumnModel().getColumn(6).setPreferredWidth(0);
tbl.getColumnModel().getColumn(6).setMinWidth(0);
tbl.getColumnModel().getColumn(6).setMaxWidth(0);
错误信息是:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 6
答案 0 :(得分:0)
RecvCallsTable.getColumnModel().removeColumn(RecvCallsTable.getColumnModel().getColumn(5));
这将从模型中删除列,即从用户的视图中删除,但仍可使用索引值访问。我一直使用它,它完美地运作
答案 1 :(得分:0)
您可以致电JTable#removeColumn
从JTable
删除该列,同时仍可通过该模型访问该列。这比设置首选宽度
但即使使用方法调用,您也应该能够访问该数据。您确定您的表有7列(因为第一列位于索引0,...)