`

Swing JTable工厂(table4j)

阅读更多
因为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
2
1
分享到:
评论
7 楼 田晓东 2013-04-14  
恩恩 不错 我下载下来了,一个demo,正好可以用用,不过界面还是有点不好看,呵呵 慢慢写点皮肤~~不错不错
6 楼 wytianshizanghua 2012-11-15  
哪天楼主能不能花个时间讲讲表排序的原理 
5 楼 javapub 2012-06-05  
503718696 写道
老总你的图都破了!

回头把所有图片整理下,重新弄上来。
4 楼 javapub 2012-06-05  
503718696 写道
老总你的图都破了!

没有办法,空间到期了,不打算续了。
3 楼 503718696 2012-05-29  
老总你的图都破了!
2 楼 javapub 2010-11-19  
winstars 写道
啧啧,好东西,刚刚好用上,thx楼主

不客气,现在java6 bate版,虽然提供表头排序的类,但感觉效率不佳,估计也不是线程安全的。
1 楼 winstars 2010-11-18  
啧啧,好东西,刚刚好用上,thx楼主

相关推荐

    Java Swing JTable分页

    ### Java Swing JTable 分页实现详解 #### 一、引言 在开发基于Java Swing的应用程序时,我们经常需要处理大量的数据展示问题。对于表格形式的数据展示,`JTable`是一个非常常用且强大的组件。然而,当数据量过大时...

    Java Swing实现JTable检测单元格数据变更事件的方法示例

    Java Swing 实现 JTable 检测单元格数据变更事件的方法示例 Java Swing 中的 JTable 是一个功能强大且灵活的表格组件,广泛应用于各种桌面应用程序中。然而,在实际开发中,我们经常需要检测单元格数据的变更事件...

    Swing JTable 常用属性

    Swing JTable 常用属性详解 Swing JTable 是 Java 中一个常用的表格控件,用于显示和编辑表格数据。在实际开发中,经常需要对 JTable 进行各种设置和操作,这篇文章将详细介绍 JTable 的常用属性和方法。 一、创建...

    Swing之JTable的详细介绍

    Swing中的JTable组件是Java GUI开发中用于展示表格数据的重要工具,它是Swing库中的一个核心组件。JTable能够方便地创建和管理表格数据,同时也支持用户交互,如编辑单元格、排序、选择行等操作。下面我们将深入探讨...

    用Java Swing Jtable做的日历

    用Java Swing Jtable做的日历

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

    在Java Swing应用中,`JTable`是一种常用的组件,用于展示和操作二维数据。它提供了丰富的功能,如排序、选择和编辑。然而,`JTable`默认并不支持行间的拖放(Drag and Drop, DnD)操作。本文将详细介绍如何通过一种...

    Swing中JTABLE中添加JBUTTON控件

    在Java的Swing库中,`JTable`是用于创建数据网格视图的重要组件,它允许用户以表格的形式查看和操作数据。而`JButton`则是一个常用的按钮控件,通常用于触发某些动作或事件。将`JButton`添加到`JTable`中可以为用户...

    swing table加复选框

    在Java的Swing库中,`JTable`是用于创建二维数据展示的组件,它类似于电子表格。在某些场景下,我们可能需要在`JTable`的每一行中添加复选框,以便用户可以选择或取消选择特定行。这通常用于实现多选功能,例如在...

    Swing之JTable详解

    ### Swing之JTable详解 #### 类层次结构图 在Swing框架中,`JTable`是构建GUI应用程序中表格的主要组件。它继承自`JComponent`类,这使得`JTable`能够支持丰富的图形用户界面功能。下面展示了`JTable`的类层次结构...

    jtable选中需要修改的行

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

    swing表格分页控件封装

    java swing表格分页控件封装,有利于在开发中节约时间

    共享一个Swing JTable组件的CheckBox管理类

    在Java的Swing库中,JTable是一个非常重要的组件,用于展示二维数据表格。它提供了丰富的功能,包括数据编辑、排序、筛选等。在实际应用中,我们有时需要在JTable的列中添加复选框(CheckBox)来实现多选功能。本篇...

    复杂JTable(复杂表头、跨行列表体)

    在Java Swing库中,`JTable`是一个非常重要的组件,用于展示二维数据集,通常用于创建用户界面中的表格。在一些复杂的应用场景中,我们可能需要实现更高级的功能,如复杂的表头和跨行列表体。这个主题主要关注如何...

    Jtable 中放入多个按钮

    在Java Swing库中,`JTable`是一个非常重要的组件,用于展示二维数据表格。当我们需要在`JTable`中实现更复杂的交互,比如在一个单元格内放置多个按钮时,这通常涉及到自定义`TableCellRenderer`和`TableCellEditor`...

    java_swing表格分页

    Java Swing 表格分页实现 Java Swing 是一个用于构建图形用户界面的 Java 库,提供了丰富的用户界面组件和功能。在本文中,我们将探讨如何使用 Java Swing 实现表格分页。 表格分页的需求 在实际开发中,我们经常...

    JAVA表格控件JTable常用操作详解.doc

    在Java Swing编程中,JTable是一个不可或缺的组件,用于展示二维数据并允许用户进行交互。它提供了丰富的功能,包括数据的显示、编辑以及对行和列的操作。以下是对JTable常用操作的详细说明: **一、创建表格控件**...

    JTable添加CheckBox

    在Java Swing中,`JTable` 是用于展示二维数据的组件,它允许用户查看和编辑数据。本示例探讨如何在`JTable`中添加`CheckBox`,并实现表头的`JCheckBox`全选联动功能。这在需要用户进行多选操作的界面中非常常见,...

    JTable自动换行

    在Java的Swing库中,`JTable`是用于创建二维数据展示的组件,它类似于电子表格。在处理`JTable`时,我们有时需要使其单元格内容支持自动换行,以便更好地显示长文本。标题“JTable自动换行”正是指向这个功能,即...

    java_swing大量的table例子

    这个压缩包文件"java_swing大量的table例子"显然提供了丰富的`JTable`使用示例,对于学习和开发涉及表格功能的Java Swing应用非常有帮助。 一、`JTable`基础知识 1. `JTable`构造:`JTable()`、`JTable(Object[][]...

Global site tag (gtag.js) - Google Analytics