隐藏JTable中的列[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隐藏JTable中的列[重复]相关的知识,希望对你有一定的参考价值。

可能重复: 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,而是通过任何其他方法可以在click事件中从隐藏列获取数据。

如何以这种方式隐藏列?

我使用以下代码:

 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();
 }
答案

将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方法,我将尝试从现在开始使用它。

以上是关于隐藏JTable中的列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何通过SQL将一列JCheckBox添加到JTable? [重复]

自动计算 JTable 中的列宽

如何使 JTable 中的列对 Swing Java 不可见

如何在 Swing 中的 JTable 的列中添加不同的 JComboBox 项

带有行过滤器的 JTable - 如何仅迭代过滤的行 [重复]

JTable 错误的列总和值