定义自己的CellEditor
来源:互联网 发布:mac英雄联盟怎么安装 编辑:程序博客网 时间:2024/05/19 19:15
定义自己的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大体就是这样。
在具体实现前先说说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
0 0
- 定义自己的CellEditor
- SWT/JFACE Viewer的cellEditor处理流程
- 自己定义的格式
- 定义自己的Adapter
- 定义自己的异常
- 定义自己的快捷键
- 定义自己的View
- 定义自己的xml
- 定义自己的dialog
- 定义自己的dialog
- 定义自己的g_signal
- 定义自己的错误代码
- 定义自己的QMessageBox
- 定义自己的ViewGroup
- 定义自己的错误代码
- 设置表格的单元格为Button的CellEditor
- Swing table的CellEditor和CellRenderer协同工作
- 如何定义自己的迭代器
- C++中哪些运算符不可重载
- javascript中escape()、unescape()、encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent()比较
- Ratingbar的使用
- Caffe+mnist训练
- LINUX环境并发服务器的三种实现模型
- 定义自己的CellEditor
- mysql常用字符串操作函数大全,以及实例
- 完全数
- SSH实现上传进度条
- ubuntu下卸载deb包
- Hadoop installation on windows
- Vim常用命令汇总
- Web前端面试题目汇总
- UDP传输long类型的数