且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

KTable的简单介绍

更新时间:2022-10-01 09:54:53

很多项目都对表格控件有较高要求,用过eclipse3.0 中的SWT TABLE的人也许对对它很失望,结构怪异,而且要实现一些特殊需求很费劲,尽管是到了eclipse3.2TABLE 改进很大,但依然不尽如人意。主要是用起来太复杂了,随便整个简单的表格就要几百行代码,而这些代码大部分都是纯工作量,没有技术难度。
我就奇怪了,这么一个难用的东西,怎么就没人跳出来说给封装一下,因为对于大部分表格应用来说,大部分人希望看到的用法是创建一个Table,然后设置行列数量,设置字体什么的,就像VB中的控件一样简单,可现在的Table对象完全不是这个概念。

在网上搜了半天,终于找到了KTABLE,发现真是个好东东,想想实现下面的功能:

1、随意控制每个单元格的颜色,随选中的行/焦点不同有变化,响应上///右键盘事件

2、随意在单元格上画图

3、随意合并单元格,随心所欲控制每个单元格的表现形式

4、三态排序

5、为每个CELL生成不同的Editor

6、动态增加行,并可随意在里面编辑,而界面过渡平滑无晃动感觉

7、任意个固定列和固定行(标题)

8、随时知道当前选中的行和焦点

9...

曾用SWT TABLE试图完成上述功能,还好,完成了上述80%的功能,但发现代码已经难以维护!大多代码都是在paint事件或其它事件实现,已经很难再写下去了!而用KTABLE,你可以很优雅的实现上面所有功能。

代码量很不多,REANDER控制表格的表现, MODE控制数据,TABLE则提供一个很好的入口。同时,KTABLE还有如下优点:

1、 JAVA,因此可以完全控制,如果你需要更改控制固有行为,应该会很方便。

2、 效率高,对于加载10000条数据情况,虽说SWT TABLEVIRTUAL风格,但拖拉滚动条时还觉得界面晃动历害,而KTABLE则相对平滑。

3、 封装得很优雅,从而使使用者的代码也容易保持优雅。




本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/326484,如需转载请自行联系原作者