java - 在 JTable 中隐藏一列

标签 java swing jtable jscrollpane

<分区>

Possible Duplicate:
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();
 }

最佳答案

将列的最小和最大宽度设置为零。

table.getColumnModel().getColumn(columnIndex).setMinWidth(0);
table.getColumnModel().getColumn(columnIndex).setMaxWidth(0);

正如 Andrew Thomson 在评论部分所建议的,您也可以使用 removeColumn .

来自javaDoc;

removeColumn

public void removeColumn(TableColumn aColumn) 

Removes aColumn from this JTable's array of columns. Note: this method does not remove the column of data from the model; it just removes the TableColumn that was responsible for displaying it. Parameters: aColumn - the TableColumn to be removed

P.S: 但我个人使用第一种方法来隐藏 JTable 中的列。感谢 removeColumn 方法,我将从现在开始尝试使用它。

关于java - 在 JTable 中隐藏一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13973572/

相关文章:

jtable - 如何从JTable中删除选定的行?

java - sts 或 eclipse 包资源管理器字体大小和排序右键单击选项

Java 硬件加速

java - 在程序启动时操作 Swing 组件的正确方法是什么?

java - 使 jtable 更大以适应所有数据

java - 需要像指向 JTable (Java) 的指针之类的东西

java - 正弦在Java中是如何实现的?

java - 使用Applet显示JList中列表的所有值

java - jtable 来自 sql 数据库,带有搜索/比较查询

Java:从 GUI 中删除 GUI 对象