Swing JTable工厂(table4j)

因为Swing提供的JTable用起来比较困难,而且实现功能也比较麻烦,所以自己封装了一个JTable工具,来实现常用的对JTable的操作,使用该工具包获得到JTable,功能强大,用起来也非常简单。[b]利用该工具来操作JTable是线程安全的[/b],可以同时对一个JTable进行增删改查,经过压力测试,程序在JTable有8000行以下数据时运行良好,在8000以上数据时会有操作延迟。工具的源码已经放在了SourceForge上面了路径为:[url]http://sourceforge.net/projects/table4j/[/url],欢迎大家对它进行改进。

开发这个工具的思路也很简单:在线程安全的情况下操作TableModel。该工具我这边还有更多的功能(定制版,通用性不强),例如:在table里嵌入按钮,图像,下拉菜单,这些大家只有去改改源码都可以实现。为了做一个通用性更强的Table工厂就没有上传这些代码。

工具可以实现的功能有:
[b]1.JTable根据表头排序。[/b]
[b]2.在table的最后面插入一行。[/b] addOneRow(Object[] tableAddRow)
[b]3.在指定行的上面插入用户需要的行,并使插入行处于选中状态。[/b] insertOneRow(int currentRow,Object[] tableInsertRow);
[b]4.对指定table的指定的行进行维护。[/b]updateTableOneRow(int opRow,Object[] voValues);
[b]5.删除操作table中选中的一行[/b]。removeOneRow(int currentRow);
[b]6.将table中选中的一行上移。[/b]currentRowMoveUp(int currentRow);
[b]7.将table中选中的一行下移。[/b]currentRowMoveDown(int currentRow);
[b]8.将table中指定的列设为隐藏。[/b]setColumnsHidden(JTable table, int[] colmnNum);
[b]9.设置table中单元格是否可以被编辑。[/b]setColumnsEditable(int[] columns);
[b]10.设置table的样式,隔行变色。[/b]

得到经过加工后的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,大家看看例子就很清楚工厂是怎么运作的了。希望大家喜欢这个工具。
下载地址: [url]http://sourceforge.net/projects/table4j/[/url]
运行后的效果图:
[img]http://www.kutoku.info/images/java/100607/ztable.png[/img]

文章地址:[url]http://javapub.iteye.com/blog/686157[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值