天天看點

KTable的簡單介紹

很多項目都對表格控件有較高要求,用過eclipse3.0 中的SWT TABLE的人也許對對它很失望,結構怪異,而且要實作一些特殊需求很費勁,盡管是到了eclipse3.2,TABLE 改進很大,但依然不盡如人意。主要是用起來太複雜了,随便整個簡單的表格就要幾百行代碼,而這些代碼大部分都是純工作量,沒有技術難度。

我就奇怪了,這麼一個難用的東西,怎麼就沒人跳出來說給封裝一下,因為對于大部分表格應用來說,大部分人希望看到的用法是建立一個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 TABLE有VIRTUAL風格,但拖拉滾動條時還覺得界面晃動曆害,而KTABLE則相對平滑。

3、 封裝得很優雅,進而使使用者的代碼也容易保持優雅。

本文轉自 tywali 51CTO部落格,原文連結:http://blog.51cto.com/lancelot/326484,如需轉載請自行聯系原作者