JTable如何隐藏某一列

时间:2021-04-07 19:32:09
我想隐藏JTable的某一列, 并不是remove, 就是不影响getValueAt和setValueAt

5 个解决方案

#1


把这一列的宽度设成0

#2


设为0不行的,因为当你针对该table进行“水平滚动条”重置每列宽度,或者“所有列最佳宽度”重置每列宽度的话,那么你setMinimumSize(0)/setMaximumSize(0)的那一列就会跑出来显示在table里了

楼主如果只是想取值的话,可以试下我的方法
String tableID = table.getRows().get(i).get("ID").toString();
只要这个ID你已经设进table中了
那么这样是可以取出来的

#3


按楼主的需要,就把那一列的宽度设为0就可以了,这样最简单

#4


column.setMaxWidth(0);
column.setMinWidth(0);
column.setPreferredWidth(0);
column.setResizable(false);
这样应该可以隐藏了,但是通过键盘移动还能选择到这列,只是看不到

#5


我前几天也做了一个这样效果的发给你了
//把第一行隐藏掉
DefaultTableColumnModel dcm = (DefaultTableColumnModel)table.getColumnModel(); 
        dcm.getColumn(0).setMinWidth(0); 
        dcm.getColumn(0).setMaxWidth(0); 
//
不明白的话我把整个程序发给你啊

#1


把这一列的宽度设成0

#2


设为0不行的,因为当你针对该table进行“水平滚动条”重置每列宽度,或者“所有列最佳宽度”重置每列宽度的话,那么你setMinimumSize(0)/setMaximumSize(0)的那一列就会跑出来显示在table里了

楼主如果只是想取值的话,可以试下我的方法
String tableID = table.getRows().get(i).get("ID").toString();
只要这个ID你已经设进table中了
那么这样是可以取出来的

#3


按楼主的需要,就把那一列的宽度设为0就可以了,这样最简单

#4


column.setMaxWidth(0);
column.setMinWidth(0);
column.setPreferredWidth(0);
column.setResizable(false);
这样应该可以隐藏了,但是通过键盘移动还能选择到这列,只是看不到

#5


我前几天也做了一个这样效果的发给你了
//把第一行隐藏掉
DefaultTableColumnModel dcm = (DefaultTableColumnModel)table.getColumnModel(); 
        dcm.getColumn(0).setMinWidth(0); 
        dcm.getColumn(0).setMaxWidth(0); 
//
不明白的话我把整个程序发给你啊