因为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-J中级中级SWING-JTable属性SWING-JTable属性Table属性
用Java Swing Jtable做的日历
java swing表格分页控件封装,有利于在开发中节约时间
swing 中JTABLE中添加控件的例子 可以引申出添加很多控件
主要介绍了Java Swing实现JTable检测单元格数据变更事件的方法,结合完整实例形式分析了Swing实现JTable检测单元格数据变更事件过程中出现的问题与相关解决方法,需要的朋友可以参考下
无需修改已有代码,快速为jtable添加行间拖拽功能。 无需实现dnd相关接口,使用方便
本文档主要讲述的是java表格控件JTable常用操作详解;JTable是Swing编程中很常用的控件,文中总结了一些常用方法以备查阅。
swing jtable列表的每列添加复选框
复杂JTable(复杂表头、跨行列表体)
java_swing表格分页
NULL 博文链接:https://danferj.iteye.com/blog/525889
大量专业详细的JTable例子,包括源代码在里面,是开发学习table的必备codes!!
GridBagTable:继承自JTable的控制器。通过该类中的方法控制表格单元的合并和拆分。 GridBagTableUI:GridBagTable对应的UI。 TODO:(已合并)行、列的插入,删除操作对应的GridBagModel的修改,不过已留接口。
1.设置Table的Model这个需要重写AbstractTableModel类, 2.设置Table的DefaultRenderer,这个根据个人需要选择将要添加到Table的cell里的 组件(JButton,JLable...)继承相应的组件,并且implements ...
JTable 是java窗体应用,关于布局,JTable的方法和一些其他的运用
重写JTable ctrl+c的内容,实现自己定制的内容输出。
JTabel的一些方法,表格的设置,按钮的添加,界面的布局,只是一些简单的小玩意
JTable表头合并, 很方便使用,swing的控件,下载下来,直接导入工程就可以使用了,接口封装的很好。想要什么样的表头都可以满足你