Eclipse華麗轉(zhuǎn)身之控件表格工廠
KTree表格工廠
AbstractKTreeFactory和AbstractKTableFacotory區(qū)別不大。通過UI界面可以看到區(qū)別,“參數(shù)”和“返回值”就好比一個樹的跟節(jié)點root,而參數(shù)param1和參數(shù)param2為“參數(shù)”root的子節(jié)點。AbstractKTreeFactory中是使用KTreeBuilder來構(gòu)造表格的,KTreeBuilde中有一個重要的屬性ITreeNode,下圖是它的類關(guān)系圖:
DefaultTreeNode實現(xiàn)了ITreeNode的接口并且繼承了AbstractPropertyAwareElement(能夠監(jiān)控屬性改變的類,當屬性改變時,會發(fā)出相應的信息通知所有的監(jiān)聽者),KTreeBuilder類里面有一個方法叫做setRootNode()可以設置樹的根節(jié)點,而ITreeNode的子類都可以構(gòu)造自己的節(jié)點然后通過setParent()的方法設置父類節(jié)點,或者調(diào)用add()方法來添加自己的孩子節(jié)點,其中重要的是DefaultTreeNode的setUserObject()方法,它是用來為每個節(jié)點set一個對象的方法。我們來看一個示例(邏輯流出入?yún)⒌臄?shù)據(jù)轉(zhuǎn)換器BusinessLogicTranslator):
Table表格工廠
AbstractTableFactory和AbstractKTableFactory基本很相像,看下一它的類關(guān)系圖如下:
在AbstractTableFactory中構(gòu)造表格的TableBuilder可以從上類圖中看出來,其實是就是封裝了eclipse自身的TableViewer,而不是AbstractKTableFactory中封裝的KTable,這是兩者之間本質(zhì)的區(qū)別。
IKTableColumn
說完了表格工廠以后,我們回頭再來看之前表格工廠里提到的一個方法getCloumns(),在這個方法中返回的是IKTableColumn []的數(shù)組。上文圖中的表格列都是最基本的輸入框也就是KPropertyTableColumn,除此之外還有哪些Column的封裝呢?
通過此圖列舉的類不難看出,表格Column的常用封裝都可以滿足了,無論是下拉框、復選框、還是帶有圖片的Column。那么下一篇我們就來詳細說一下,表格工廠Column的封裝,除此之外還有更為復雜的Column封裝(如圖),以及其他幾個控件工廠的介紹。
- end -

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字