JTable隐藏某列后如何再恢复显示?

简介:

下面是我总结的一个操作表格列隐藏和显示的工具类:

Java代码   收藏代码
  1. package com.swing.table;  
  2.   
  3. import javax.swing.JTable;  
  4. import javax.swing.table.TableColumn;  
  5. import javax.swing.table.TableColumnModel;  
  6.   
  7. public class TableUtil3  
  8. {  
  9.       
  10.     private TableUtil3()  
  11.     {  
  12.         throw new Error("Don't let anyone instantiate this class.");  
  13.     }  
  14.       
  15.     /*** 
  16.      * hide specified column 
  17.      *  
  18.      * @param table 
  19.      * @param column 
  20.      */  
  21.     public static void hideTableColumn(JTable table, int column)  
  22.     {  
  23.         TableColumnModel columns = table.getColumnModel();  
  24.         TableColumn column_id_data = columns.getColumn(column);  
  25.         column_id_data.setMaxWidth(0);  
  26.         column_id_data.setPreferredWidth(0);  
  27.         column_id_data.setMinWidth(0);  
  28.           
  29.         TableColumn column_id_header = table.getTableHeader().getColumnModel()  
  30.                 .getColumn(column);  
  31.         column_id_header.setMaxWidth(0);  
  32.         column_id_header.setPreferredWidth(0);  
  33.         column_id_header.setMinWidth(0);  
  34.     }  
  35.     /*** 
  36.      * show specified column 
  37.      *  
  38.      * @param table 
  39.      * @param column 
  40.      * @param width 
  41.      */  
  42.     public static void showTableColumn(JTable table, int column)  
  43.     {  
  44.         int width=40;  
  45.         TableColumnModel columns = table.getColumnModel();  
  46.         TableColumn column_id_data = columns.getColumn(column);  
  47.           
  48.         column_id_data.setMaxWidth(width+100);  
  49.         column_id_data.setPreferredWidth(width);  
  50.         column_id_data.setMinWidth(width);  
  51.          
  52. //        column_id_data.setResizable(true);  
  53.         TableColumn column_id_header = table.getTableHeader().getColumnModel()  
  54.                 .getColumn(column);  
  55.         column_id_header.setMaxWidth(width+100);  
  56.         column_id_header.setPreferredWidth(width);  
  57.         column_id_header.setMinWidth(width);  
  58. //        column_id_header.setResizable(true);  
  59.     }  
  60. }  

调用上述工具类的代码如下: 

//show id column

JButton showIDBtn = new JButton("show id");

showIDBtn.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

TableUtil3.showTableColumn(table, 6);

}

});

button02Pane.add(showIDBtn);

 

//hide id column

JButton hideIDBtn = new JButton("hide id");

hideIDBtn.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

TableUtil3.hideTableColumn(table, 6);

}

});

button02Pane.add(hideIDBtn);

相关文章
|
8月前
用dragstart、drag、dragend、dragover、drop、dragleave实现针对表格列的顺序进行拖拽排序(附带实现选择某几列数据显示或隐藏)
用dragstart、drag、dragend、dragover、drop、dragleave实现针对表格列的顺序进行拖拽排序(附带实现选择某几列数据显示或隐藏)
|
C#
C#清除DataGridView数据DataGridView中的“无法删除未提交的新行”
C#清除DataGridView数据DataGridView中的“无法删除未提交的新行”
1593 0
C#清除DataGridView数据DataGridView中的“无法删除未提交的新行”
|
前端开发
dataTable列内容过长隐藏
dataTable列内容过长隐藏
158 0
|
JavaScript 前端开发 Java
29jqGrid 3.0新特征- 显示/隐藏列
29jqGrid 3.0新特征- 显示/隐藏列
59 0
|
缓存 JavaScript 前端开发
el-table 列的动态显示与隐藏
当我们在对表格数据查看的时候,可能某些列的数据是当前想要重点关注的,而某些列并不需要展示出来,我们就可以通过对表格的列进行实时的一个切换去实现动态的显示与隐藏。
|
Java
Jtable自动适应列宽
Jtable自动适应列宽
277 0
|
C#
C# ListBox实现显示插入最新的数据的方法
原文:C# ListBox实现显示插入最新的数据的方法 在我们使用ListBox控件时,如果我们在里面不断的添加一条条数据,但是在我们添加的数据过多超过了ListBox显示的窗口时(此时会产生滑动条), 发现我们无法看到最新添加的数据。
1745 0