可能重复:
How to make a columns in JTable Invisible for Swing Java
How to hide a particlar column in DefaultTableModel from displaying it in table?
我正在尝试将数据输入到JTable中的三列,但我想只显示两列。实际上,我想隐藏第三列,而不是通过将宽度设置为0,而是通过任何其他方法可以在点击事件中从隐藏列中获取数据。
如何以这种方式隐藏列?
我使用以下代码:
try {
String Title[]= new String{"a","b","c"};
Object obj= new Object[50][3];
JTable table= new JTable(obj,title);
JScrollPane jsp= new JScrollPane(table);
add(jsp);
} catch(Exception ex) {
ex.printStackTrace();
}
答案 0 :(得分:24)
将Column Minimum和Maximum width设置为零。
table.getColumnModel().getColumn(columnIndex).setMinWidth(0);
table.getColumnModel().getColumn(columnIndex).setMaxWidth(0);
正如Andrew Thomson在评论部分中提出的链接,您也可以使用removeColumn。
来自javaDoc;
removeColumn
public void removeColumn(TableColumn aColumn)
从此JTable的列数组中删除aColumn。注意:这种方法可以 不从模型中删除数据列;它只是删除了 TableColumn负责显示它。参数: aColumn - 要删除的TableColumn
P.S:但我亲自使用第一种方法来隐藏JTable
中的列。感谢removeColumn
方法,我将尝试从现在开始使用它。