訂閱
糾錯(cuò)
加入自媒體

Eclipse華麗轉(zhuǎn)身之控件表格工廠

2020-08-26 10:48
EAWorld
關(guān)注

KTree表格工廠

Eclipse華麗轉(zhuǎn)身之控件表格工廠

AbstractKTreeFactory和AbstractKTableFacotory區(qū)別不大。通過UI界面可以看到區(qū)別,“參數(shù)”和“返回值”就好比一個(gè)樹的跟節(jié)點(diǎn)root,而參數(shù)param1和參數(shù)param2為“參數(shù)”root的子節(jié)點(diǎn)。AbstractKTreeFactory中是使用KTreeBuilder來構(gòu)造表格的,KTreeBuilde中有一個(gè)重要的屬性ITreeNode,下圖是它的類關(guān)系圖:

Eclipse華麗轉(zhuǎn)身之控件表格工廠

DefaultTreeNode實(shí)現(xiàn)了ITreeNode的接口并且繼承了AbstractPropertyAwareElement(能夠監(jiān)控屬性改變的類,當(dāng)屬性改變時(shí),會發(fā)出相應(yīng)的信息通知所有的監(jiān)聽者),KTreeBuilder類里面有一個(gè)方法叫做setRootNode()可以設(shè)置樹的根節(jié)點(diǎn),而ITreeNode的子類都可以構(gòu)造自己的節(jié)點(diǎn)然后通過setParent()的方法設(shè)置父類節(jié)點(diǎn),或者調(diào)用add()方法來添加自己的孩子節(jié)點(diǎn),其中重要的是DefaultTreeNode的setUserObject()方法,它是用來為每個(gè)節(jié)點(diǎn)set一個(gè)對象的方法。我們來看一個(gè)示例(邏輯流出入?yún)⒌臄?shù)據(jù)轉(zhuǎn)換器BusinessLogicTranslator):

Eclipse華麗轉(zhuǎn)身之控件表格工廠

Table表格工廠

Eclipse華麗轉(zhuǎn)身之控件表格工廠

AbstractTableFactory和AbstractKTableFactory基本很相像,看下一它的類關(guān)系圖如下:

Eclipse華麗轉(zhuǎn)身之控件表格工廠

在AbstractTableFactory中構(gòu)造表格的TableBuilder可以從上類圖中看出來,其實(shí)是就是封裝了eclipse自身的TableViewer,而不是AbstractKTableFactory中封裝的KTable,這是兩者之間本質(zhì)的區(qū)別。

IKTableColumn

說完了表格工廠以后,我們回頭再來看之前表格工廠里提到的一個(gè)方法getCloumns(),在這個(gè)方法中返回的是IKTableColumn []的數(shù)組。上文圖中的表格列都是最基本的輸入框也就是KPropertyTableColumn,除此之外還有哪些Column的封裝呢?

Eclipse華麗轉(zhuǎn)身之控件表格工廠

通過此圖列舉的類不難看出,表格Column的常用封裝都可以滿足了,無論是下拉框、復(fù)選框、還是帶有圖片的Column。那么下一篇我們就來詳細(xì)說一下,表格工廠Column的封裝,除此之外還有更為復(fù)雜的Column封裝(如圖),以及其他幾個(gè)控件工廠的介紹。

Eclipse華麗轉(zhuǎn)身之控件表格工廠

 - end -  


<上一頁  1  2  3  
聲明: 本文由入駐維科號的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報(bào)。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個(gè)字

您提交的評論過于頻繁,請輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評論

暫無評論

    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號