`

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

阅读更多

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

package com.swing.table;

import javax.swing.JTable;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;

public class TableUtil3
{
    
    private TableUtil3()
    {
        throw new Error("Don't let anyone instantiate this class.");
    }
    
    /***
     * hide specified column
     * 
     * @param table
     * @param column
     */
    public static void hideTableColumn(JTable table, int column)
    {
        TableColumnModel columns = table.getColumnModel();
        TableColumn column_id_data = columns.getColumn(column);
        column_id_data.setMaxWidth(0);
        column_id_data.setPreferredWidth(0);
        column_id_data.setMinWidth(0);
        
        TableColumn column_id_header = table.getTableHeader().getColumnModel()
                .getColumn(column);
        column_id_header.setMaxWidth(0);
        column_id_header.setPreferredWidth(0);
        column_id_header.setMinWidth(0);
    }
    /***
     * show specified column
     * 
     * @param table
     * @param column
     * @param width
     */
    public static void showTableColumn(JTable table, int column)
    {
    	int width=40;
        TableColumnModel columns = table.getColumnModel();
        TableColumn column_id_data = columns.getColumn(column);
        
        column_id_data.setMaxWidth(width+100);
        column_id_data.setPreferredWidth(width);
        column_id_data.setMinWidth(width);
       
//        column_id_data.setResizable(true);
        TableColumn column_id_header = table.getTableHeader().getColumnModel()
                .getColumn(column);
        column_id_header.setMaxWidth(width+100);
        column_id_header.setPreferredWidth(width);
        column_id_header.setMinWidth(width);
//        column_id_header.setResizable(true);
    }
}

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

//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);

 

 

 

分享到:
评论

相关推荐

    JTable列隐藏

    重写JTable ctrl+c的内容,实现自己定制的内容输出。

    复杂JTable-跨列表头

    "复杂JTable-跨列表头"是一个特殊实现,它扩展了JTable的功能,允许在表头中进行列的合并,这在显示层次结构或分组数据时特别有用。 跨列表头(或合并列头)的概念是将多个列的标题合并为一个大的表头单元格,通常...

    JTable 操作单元格 行 列

    4. **隐藏/显示列**:可以通过修改`DefaultTableColumnModel`来隐藏或显示列。 5. **排序列**:`RowSorter`也可以用来对列进行排序,只需要设置适当的`Comparator`。 ### 示例代码 ```java DefaultTableModel ...

    一种JTable中多列排序的实现方法

    java实现的,一种JTable中多列排序的实现方法

    jtable锁定行列

    封装JTable同时锁定多行多列效果,通过多层布局实现,不需要多个数据集,使用简单,不用对现有代码做改动。

    java Jtable 经典列设置+表格颜色.docx

    ### Java Swing JTable 经典列设置与表格颜色设置详解 #### 一、概述 本文档将详细介绍如何在Java Swing框架下使用`JTable`组件进行经典列设置以及表格颜色的自定义设置,并通过一个实际的例子展示如何实现这些...

    jtable选中需要修改的行

    在Java Swing应用中,JTable是一个非常常用的组件,用于显示和编辑二维表格数据。当我们需要在JTable中实现用户交互,比如选中某一行并进行编辑时,通常会涉及到几个关键概念和技术。以下是对这些知识点的详细解释:...

    JTable

    JTable的显示效果

    Jtable 中放入多个按钮

    创建了自定义的渲染器后,你需要将其设置为`JTable`的列渲染器。可以通过`getColumnClass`方法返回特定列的类,然后在`prepareRenderer`方法中设置渲染器。例如: ```java table.getColumn("按钮列")....

    JTable自动换行

    在处理`JTable`时,我们有时需要使其单元格内容支持自动换行,以便更好地显示长文本。标题“JTable自动换行”正是指向这个功能,即如何在`JTable`的单元格内实现文本的自动换行。 默认情况下,`JTable`的单元格使用...

    JTable添加CheckBox

    // 告诉JTable列中的数据类型是CheckBox } @Override public boolean isCellEditable(int rowIndex, int columnIndex) { return true; // 允许编辑,这样用户可以点击CheckBox } @Override public Object ...

    Jtable JCombobox例子

    当你需要在`JTable`的某一列中嵌入可选择的下拉列表时,`JComboBox`就派上了用场。在你的项目中,你可能遇到了一个问题:当`JComboBox`未被选中时,其下拉箭头没有正确显示。这个问题通常是由于`JTable`的默认渲染器...

    java取出mysql中数据,显示在jtable里面

    根据给定的文件信息,我们可以总结出以下关于如何使用Java从MySQL数据库中获取数据并在JTable中显示的相关知识点: ### 一、导入必要的库 在Java程序中操作MySQL数据库及Swing组件,需要导入以下几个包: 1. `java...

    Java的Jtable、从数据库取数据显示在表格中

    ### Java的JTable:从数据库取数据显示在表格中的关键技术点 #### 一、数据库操作与JDBC连接 在Java中,使用JTable显示数据库中的数据是一个常见的应用场景。首先,我们需要了解如何通过Java Database ...

    JTable使用 JTable使用

    JTable使用 JTable使用JTable使用JTable使用

    JTable连接Access并显示

    本教程将深入探讨如何利用JTable与Microsoft Access数据库进行交互,并将数据动态地显示在表格中。这对于开发需要从数据库获取并展示数据的桌面应用来说是至关重要的。 首先,我们需要了解JTable的基本构造。JTable...

    JTable+显示数据库中的记录

    最后,将这些查询结果展示在`JTable`上,我们需要创建一个`DefaultTableModel`,然后将`ResultSet`转换为二维数组,再将其设置为`JTable`的数据源: ```java DefaultTableModel model = new DefaultTableModel(); /...

    JTable实现行间拖拽的最简单方法

    `TableModel`存储数据,`TableColumnModel`管理列,而Renderers和Editors负责显示和编辑单元格内容。为了实现行拖放,我们需要关注`TableModel`,因为它是数据源。 添加行拖放功能的核心在于监听`...

    JTable实例大全

    在Java编程领域,Swing库是用于创建图形用户界面(GUI)的重要工具,而`JTable`是Swing中一个核心组件,它用于显示和编辑表格数据。`JTable`实例大全提供了各种实用示例,涵盖了`JTable`的高级功能,如合并表头和...

Global site tag (gtag.js) - Google Analytics