定義自己的CellEditor

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

 
原文鏈接  http://www.blogjava.net/jrkui188/archive/2008/02/03/179154.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章