下面是我总结的一个操作表格列隐藏和显示的工具类:
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 ctrl+c的内容,实现自己定制的内容输出。
"复杂JTable-跨列表头"是一个特殊实现,它扩展了JTable的功能,允许在表头中进行列的合并,这在显示层次结构或分组数据时特别有用。 跨列表头(或合并列头)的概念是将多个列的标题合并为一个大的表头单元格,通常...
4. **隐藏/显示列**:可以通过修改`DefaultTableColumnModel`来隐藏或显示列。 5. **排序列**:`RowSorter`也可以用来对列进行排序,只需要设置适当的`Comparator`。 ### 示例代码 ```java DefaultTableModel ...
java实现的,一种JTable中多列排序的实现方法
封装JTable同时锁定多行多列效果,通过多层布局实现,不需要多个数据集,使用简单,不用对现有代码做改动。
### Java Swing JTable 经典列设置与表格颜色设置详解 #### 一、概述 本文档将详细介绍如何在Java Swing框架下使用`JTable`组件进行经典列设置以及表格颜色的自定义设置,并通过一个实际的例子展示如何实现这些...
在Java Swing应用中,JTable是一个非常常用的组件,用于显示和编辑二维表格数据。当我们需要在JTable中实现用户交互,比如选中某一行并进行编辑时,通常会涉及到几个关键概念和技术。以下是对这些知识点的详细解释:...
JTable的显示效果
创建了自定义的渲染器后,你需要将其设置为`JTable`的列渲染器。可以通过`getColumnClass`方法返回特定列的类,然后在`prepareRenderer`方法中设置渲染器。例如: ```java table.getColumn("按钮列")....
在处理`JTable`时,我们有时需要使其单元格内容支持自动换行,以便更好地显示长文本。标题“JTable自动换行”正是指向这个功能,即如何在`JTable`的单元格内实现文本的自动换行。 默认情况下,`JTable`的单元格使用...
// 告诉JTable列中的数据类型是CheckBox } @Override public boolean isCellEditable(int rowIndex, int columnIndex) { return true; // 允许编辑,这样用户可以点击CheckBox } @Override public Object ...
当你需要在`JTable`的某一列中嵌入可选择的下拉列表时,`JComboBox`就派上了用场。在你的项目中,你可能遇到了一个问题:当`JComboBox`未被选中时,其下拉箭头没有正确显示。这个问题通常是由于`JTable`的默认渲染器...
根据给定的文件信息,我们可以总结出以下关于如何使用Java从MySQL数据库中获取数据并在JTable中显示的相关知识点: ### 一、导入必要的库 在Java程序中操作MySQL数据库及Swing组件,需要导入以下几个包: 1. `java...
### Java的JTable:从数据库取数据显示在表格中的关键技术点 #### 一、数据库操作与JDBC连接 在Java中,使用JTable显示数据库中的数据是一个常见的应用场景。首先,我们需要了解如何通过Java Database ...
JTable使用 JTable使用JTable使用JTable使用
本教程将深入探讨如何利用JTable与Microsoft Access数据库进行交互,并将数据动态地显示在表格中。这对于开发需要从数据库获取并展示数据的桌面应用来说是至关重要的。 首先,我们需要了解JTable的基本构造。JTable...
最后,将这些查询结果展示在`JTable`上,我们需要创建一个`DefaultTableModel`,然后将`ResultSet`转换为二维数组,再将其设置为`JTable`的数据源: ```java DefaultTableModel model = new DefaultTableModel(); /...
`TableModel`存储数据,`TableColumnModel`管理列,而Renderers和Editors负责显示和编辑单元格内容。为了实现行拖放,我们需要关注`TableModel`,因为它是数据源。 添加行拖放功能的核心在于监听`...
在Java编程领域,Swing库是用于创建图形用户界面(GUI)的重要工具,而`JTable`是Swing中一个核心组件,它用于显示和编辑表格数据。`JTable`实例大全提供了各种实用示例,涵盖了`JTable`的高级功能,如合并表头和...