很多项目都对表格控件有较高要求,用过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、 封装得很优雅,从而使使用者的代码也容易保持优雅。