因为Swing提供的JTable用起来比较困难,而且实现功能也比较麻烦,所以自己封装了一个JTable工具,来实现常用的对JTable的操作,使用该工具包获得到JTable,功能强大,用起来也非常简单。
利用该工具来操作JTable是线程安全的,可以同时对一个JTable进行增删改查,经过压力测试,程序在JTable有8000行以下数据时运行良好,在8000以上数据时会有操作延迟。工具的源码已经放在了SourceForge上面了路径为:
http://sourceforge.net/projects/table4j/,欢迎大家对它进行改进。
开发这个工具的思路也很简单:在线程安全的情况下操作TableModel。该工具我这边还有更多的功能(定制版,通用性不强),例如:在table里嵌入按钮,图像,下拉菜单,这些大家只有去改改源码都可以实现。为了做一个通用性更强的Table工厂就没有上传这些代码。
工具可以实现的功能有:
1.JTable根据表头排序。
2.在table的最后面插入一行。 addOneRow(Object[] tableAddRow)
3.在指定行的上面插入用户需要的行,并使插入行处于选中状态。 insertOneRow(int currentRow,Object[] tableInsertRow);
4.对指定table的指定的行进行维护。updateTableOneRow(int opRow,Object[] voValues);
5.删除操作table中选中的一行。removeOneRow(int currentRow);
6.将table中选中的一行上移。currentRowMoveUp(int currentRow);
7.将table中选中的一行下移。currentRowMoveDown(int currentRow);
8.将table中指定的列设为隐藏。setColumnsHidden(JTable table, int[] colmnNum);
9.设置table中单元格是否可以被编辑。setColumnsEditable(int[] columns);
10.设置table的样式,隔行变色。
得到经过加工后的table。getZTable();
// 设置第三第四列可以被编辑。
tableOp.setColumnsEditable(colsEditable);
// 设置table信息生成Table。
tableOp.setTableInfors(tableHeader, tableBody, colWidth);
// 得到Table。
JTable ztable = tableOp.getZTable();
// 设置Table的样式, 隔行变色。
tableOp.setTableStyle(ztable);
// 当前行下移。
tableOp.currentRowMoveDown(ztable.getSelectedColumn());
// 当前行上移。
tableOp.currentRowMoveUp(ztable.getSelectedColumn());
// 在指定行的上面插入一行。
tableOp.insertOneRow(ztable.getSelectedColumn(), tableHeader);
// 在table最后插入一行。
tableOp.addOneRow(tableHeader);
// 删除一行。
tableOp.removeOneRow(ztable.getSelectedColumn());
// 更新一行。
tableOp.updateTableOneRow(ztable.getSelectedColumn(), tableHeader);
源代码我已经放到了sourceforge并开源,欢迎大家去使用和修改,为了方便大家下载我也在附件中放了一份。源码中有一个例子:Table4jDemo,大家看看例子就很清楚工厂是怎么运作的了。希望大家喜欢这个工具。
下载地址:
http://sourceforge.net/projects/table4j/
运行后的效果图:
文章地址:
http://javapub.iteye.com/blog/686157
分享到:
相关推荐
### Java Swing JTable 分页实现详解 #### 一、引言 在开发基于Java Swing的应用程序时,我们经常需要处理大量的数据展示问题。对于表格形式的数据展示,`JTable`是一个非常常用且强大的组件。然而,当数据量过大时...
在Java的Swing库中,`JTable`是用于创建数据网格视图的重要组件,它允许用户以表格的形式查看和操作数据。而`JButton`则是一个常用的按钮控件,通常用于触发某些动作或事件。将`JButton`添加到`JTable`中可以为用户...
Java Swing 实现 JTable 检测单元格数据变更事件的方法示例 Java Swing 中的 JTable 是一个功能强大且灵活的表格组件,广泛应用于各种桌面应用程序中。然而,在实际开发中,我们经常需要检测单元格数据的变更事件...
Swing JTable 常用属性详解 Swing JTable 是 Java 中一个常用的表格控件,用于显示和编辑表格数据。在实际开发中,经常需要对 JTable 进行各种设置和操作,这篇文章将详细介绍 JTable 的常用属性和方法。 一、创建...
Swing中的JTable组件是Java GUI开发中用于展示表格数据的重要工具,它是Swing库中的一个核心组件。JTable能够方便地创建和管理表格数据,同时也支持用户交互,如编辑单元格、排序、选择行等操作。下面我们将深入探讨...
用Java Swing Jtable做的日历
在Java Swing应用中,`JTable`是一种常用的组件,用于展示和操作二维数据。它提供了丰富的功能,如排序、选择和编辑。然而,`JTable`默认并不支持行间的拖放(Drag and Drop, DnD)操作。本文将详细介绍如何通过一种...
在Java的Swing库中,`JTable`是用于创建二维数据展示的组件,它类似于电子表格。在某些场景下,我们可能需要在`JTable`的每一行中添加复选框,以便用户可以选择或取消选择特定行。这通常用于实现多选功能,例如在...
在Java Swing库中,`JTable`是一个非常重要的组件,用于展示二维数据表格。当我们需要在`JTable`中实现更复杂的交互,比如在一个单元格内放置多个按钮时,这通常涉及到自定义`TableCellRenderer`和`TableCellEditor`...
### Swing之JTable详解 #### 类层次结构图 在Swing框架中,`JTable`是构建GUI应用程序中表格的主要组件。它继承自`JComponent`类,这使得`JTable`能够支持丰富的图形用户界面功能。下面展示了`JTable`的类层次结构...
在Java Swing应用中,JTable是一个非常常用的组件,用于显示和编辑二维表格数据。当我们需要在JTable中实现用户交互,比如选中某一行并进行编辑时,通常会涉及到几个关键概念和技术。以下是对这些知识点的详细解释:...
java swing表格分页控件封装,有利于在开发中节约时间
在Java的Swing库中,JTable是一个非常重要的组件,用于展示二维数据表格。它提供了丰富的功能,包括数据编辑、排序、筛选等。在实际应用中,我们有时需要在JTable的列中添加复选框(CheckBox)来实现多选功能。本篇...
在Java Swing库中,`JTable`是一个非常重要的组件,用于展示二维数据集,通常用于创建用户界面中的表格。在一些复杂的应用场景中,我们可能需要实现更高级的功能,如复杂的表头和跨行列表体。这个主题主要关注如何...
Java Swing 表格分页实现 Java Swing 是一个用于构建图形用户界面的 Java 库,提供了丰富的用户界面组件和功能。在本文中,我们将探讨如何使用 Java Swing 实现表格分页。 表格分页的需求 在实际开发中,我们经常...
在Java Swing编程中,JTable是一个不可或缺的组件,用于展示二维数据并允许用户进行交互。它提供了丰富的功能,包括数据的显示、编辑以及对行和列的操作。以下是对JTable常用操作的详细说明: **一、创建表格控件**...
在Java的Swing库中,`JTable`是用于创建二维数据展示的组件,它类似于电子表格。在处理`JTable`时,我们有时需要使其单元格内容支持自动换行,以便更好地显示长文本。标题“JTable自动换行”正是指向这个功能,即...
这个压缩包文件"java_swing大量的table例子"显然提供了丰富的`JTable`使用示例,对于学习和开发涉及表格功能的Java Swing应用非常有帮助。 一、`JTable`基础知识 1. `JTable`构造:`JTable()`、`JTable(Object[][]...
`JTable`也支持通过`TableColumn`对象来调整列的可见性、宽度和对齐方式。 此外,`JTable`还可以与其他Swing组件结合使用,比如`JScrollPane`用于滚动,`JComboBox`作为下拉框选择列的值,`JButton`作为操作按钮等...