花開(kāi)有時(shí)

          花開(kāi)有時(shí),花落有時(shí),來(lái)有時(shí),去有時(shí)。不撕扯,只關(guān)切;不紀(jì)念,只牽掛;不感動(dòng),只明白;不尋找,只記得。
          隨筆 - 24, 文章 - 0, 評(píng)論 - 54, 引用 - 0
          數(shù)據(jù)加載中……

          定義自己的CellEditor

              定義自己的CellEditor其實(shí)不難,完整的實(shí)例可以看Eclipse的TextCellEditor與ComboBoxCellEditor(原理都差不多,但推薦看CmboboxCellEditor,它的實(shí)現(xiàn)簡(jiǎn)單些)
             在具體實(shí)現(xiàn)前先說(shuō)說(shuō)CellEditor的原理:
             在點(diǎn)擊Table或Tree的一個(gè)Cell(單元格)或Item(節(jié)點(diǎn))時(shí)激發(fā)CellEditor,如果這個(gè)CellEditor是TextCellEditor這返回一個(gè)Text供User編輯,如果
          是ComboBoxCellEditor則返回一個(gè)Combo供User選擇,如果是自定義的CellEditor則需要在CellEditor里返回一個(gè)Control
          (實(shí)現(xiàn)父類的createControl(Composite parent)方法。
             下面說(shuō)說(shuō)一個(gè)CellEditor具體的實(shí)現(xiàn):
             1.首先,需要繼承CellEditor類,從而實(shí)現(xiàn)它的幾個(gè)方法。
                1)實(shí)現(xiàn)一個(gè)參數(shù)為org.eclipse.swt.widgets.Composite的構(gòu)造方法,并在構(gòu)造方法中調(diào)用參數(shù)為org.eclipse.swt.widgets.Composite的父類的構(gòu)造方法。
                2)重寫(xiě)父類的createControl(Composite parent),需要返回我們自定義的一個(gè)Contrl,比如說(shuō)Button,Text,Combo,DateTime,List,Table(當(dāng)然你的Cell要夠大才顯美觀)。
                3)重寫(xiě)父類的doSetValue(Object value),其中的value是從Table(Tree)中一個(gè)Cell(Item)上獲得的值,可以用這個(gè)值為我們自定義的Control賦初值(就是當(dāng)CellEditor被激活時(shí)出現(xiàn)的Control上顯示的值)。
                4)重寫(xiě)父類的doGetValue()方法,return一個(gè)Object,這個(gè)Object是返回一個(gè)值給Table(Tree),然后Table(Tree)對(duì)這個(gè)值進(jìn)行解析,再反映到對(duì)應(yīng)的Cell(Item)上。
                5)重寫(xiě)父類的doSetFocus()方法,當(dāng)CellEditor被激活時(shí),把foucus顯示的Control,一般用control的setFocus方法即可。
              ok,實(shí)現(xiàn)自定義的CellEditor大體就是這樣。

          posted on 2008-02-03 14:51 花開(kāi)有時(shí) 閱讀(3757) 評(píng)論(1)  編輯  收藏 所屬分類: Eclipse

          評(píng)論

          # re: 定義自己的CellEditor  回復(fù)  更多評(píng)論   

          非常 不錯(cuò)呀,收藏……
          2008-02-17 12:35 | 83eee
          主站蜘蛛池模板: 土默特左旗| 华阴市| 阿合奇县| 霞浦县| 六安市| 紫金县| 中卫市| 鄂温| 论坛| 紫阳县| 康定县| 白水县| 贵阳市| 合川市| 金寨县| 黔西| 新源县| 紫金县| 衡山县| 行唐县| 垫江县| 海兴县| 施秉县| 扬州市| 巴青县| 阿城市| 新宁县| 威宁| 辽阳市| 荥阳市| 马龙县| 清河县| 夏津县| 德江县| 定西市| 青铜峡市| 平罗县| 且末县| 石泉县| 延边| 盐亭县|