Eclipse华丽转身之控件表格工厂
KTree表格工厂
AbstractKTreeFactory和AbstractKTableFacotory区别不大。通过UI界面可以看到区别,“参数”和“返回值”就好比一个树的跟节点root,而参数param1和参数param2为“参数”root的子节点。AbstractKTreeFactory中是使用KTreeBuilder来构造表格的,KTreeBuilde中有一个重要的属性ITreeNode,下图是它的类关系图:
DefaultTreeNode实现了ITreeNode的接口并且继承了AbstractPropertyAwareElement(能够监控属性改变的类,当属性改变时,会发出相应的信息通知所有的监听者),KTreeBuilder类里面有一个方法叫做setRootNode()可以设置树的根节点,而ITreeNode的子类都可以构造自己的节点然后通过setParent()的方法设置父类节点,或者调用add()方法来添加自己的孩子节点,其中重要的是DefaultTreeNode的setUserObject()方法,它是用来为每个节点set一个对象的方法。我们来看一个示例(逻辑流出入参的数据转换器BusinessLogicTranslator):
Table表格工厂
AbstractTableFactory和AbstractKTableFactory基本很相像,看下一它的类关系图如下:
在AbstractTableFactory中构造表格的TableBuilder可以从上类图中看出来,其实是就是封装了eclipse自身的TableViewer,而不是AbstractKTableFactory中封装的KTable,这是两者之间本质的区别。
IKTableColumn
说完了表格工厂以后,我们回头再来看之前表格工厂里提到的一个方法getCloumns(),在这个方法中返回的是IKTableColumn []的数组。上文图中的表格列都是最基本的输入框也就是KPropertyTableColumn,除此之外还有哪些Column的封装呢?
通过此图列举的类不难看出,表格Column的常用封装都可以满足了,无论是下拉框、复选框、还是带有图片的Column。那么下一篇我们就来详细说一下,表格工厂Column的封装,除此之外还有更为复杂的Column封装(如图),以及其他几个控件工厂的介绍。
- end -
最新活动更多
-
11月28日立即报名>>> 2024工程师系列—工业电子技术在线会议
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
-
精彩回顾立即查看>> 2024 智能家居出海论坛
-
精彩回顾立即查看>> 【在线会议】多物理场仿真助跑新能源汽车
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论