Eclipse插件开发之简单控件封装——那些年冗长的裹脚布

EAWorld
关注


其中fireValueChanged(ValueChangeEvent r_Event)就是调用所有的值监听器,通知当前控件的值已经改变。所以不同的对象编辑器之间都可以使用这个fireValueChanged来进行数据的联动处理。容器布局在build方法中我们简单提到了getLayoutDataBuilder获取布局,这个方法获取的布局类GridLayoutDataBuilder,同样是我们经过封装。

可以看到,在这个类里,我们已经对布局进行了一系列初始的封装,除非有特殊的布局需求,可以调用其中的方法更改布局,其他大部分的场景默认布局已经可以满足。这就是对象属性的基类AbstractPropertyAccessor的核心处理,还有很多方法的封装都是可以根据用户的需要自行定义,当然根据控件有需要的可以再封装一层包含各类监听接口的基类,例如:KeyListener, FocusListener, SelectionListener, ModifyListener等。3.说完了基类,StringPropertyEditor就变得简单了。

值得说一下的就是文本框的绘制方法了。

因为这里用到了文本框的封装,我们来看下文本框的封装。

做的事很简单,将固定样式的Text放入到我们的属性编辑器上,并且增加Modify的监听。除此之外我们还有对其他单个控件的封装。

至此,我们一个属性编辑器就开发完成了。

下面我们看看对象编辑器ObjectEditor的封装。

ObjectEditor


根据对象编辑器和属性编辑器的关系,不难理解,对象编辑器就是对属性编辑器的加载、放置、布局。核心方法build,就是遍历调用属性编辑器的绘制。

这是一个一目了然的方法,对象编辑器中的其他操作方法亦是如此,都是遍历属性编辑器,对属性编辑器的挨个操作。---好了,我们完成了控件的封装,是不是觉得封装方法略多,好麻烦啊,我还是复制复制代码,一个个控件添加好了。But!复杂的封装是一时的,日后便利的开发是永久的!然后你又要问了,那么我们封装好了对象编辑器又如何,我们也放不到Wizard放不到View上啊。

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存