当前位置: 智能网 > 人工智能 > Eclipse华丽转身之控件表格工厂

Eclipse华丽转身之控件表格工厂

放大字体 缩小字体 发布日期:2020-08-26 14:04:25   浏览次数:114
核心提示:2020年08月26日关于Eclipse华丽转身之控件表格工厂的最新消息:Eclipse插件开发书归正传,接演前文~(Eclipse插件开发之简单控件封装——那些年冗长的裹脚布)上回我们介绍了对象编辑器的封装,对象编辑器之外就是控件工厂的封装,而在众多类


Eclipse插件开发

书归正传,接演前文~(Eclipse插件开发之简单控件封装——那些年冗长的裹脚布)上回我们介绍了对象编辑器的封装,对象编辑器之外就是控件工厂的封装,而在众多类型的控件工厂中,想必大家最关心的,莫过于对槽点满满的原生Tree/Table的封装。这回我们便好好来说道说道~

在此之前,我们还是要简单介绍一下控件工厂。

控件工厂

根据不同的UI需求,我们框架封装了许多控件工厂来完成灵活的应用需求。

Eclipse华丽转身之控件表格工厂

IControlFactory控件工厂,因为有一些控件是运行时才会被创建的,而且要创建的控件也有可能不确定,所以提供一个这样的工厂用来创建控件,下图为它的类结构图。

Eclipse华丽转身之控件表格工厂

AbstractControlFactory是IControlFactory的基类。这个基类在实现IValueContaier的同时还实现了IValueChangeListener和IValidateListener这样主要是通过Proxy的模式,只在内部的控件中添加自己作为Listener。

表格工厂

我们知道,无论是SWT的Table还是JFace的TableViewer/TreeViewer,都不能满。我们广泛需求,比如修改数据。而在我们开发过程中,表格往往是个非常普遍多次使用的控件,所以这里就要引入我们的表格工厂的封装了。那么,我们先简述以下表格工厂相关的几个概念(构建器、数据转换器、备忘录)。

表格构建器Builder分为KTableBuilder和KTreeBuilder,其实他们是使用了第三方表格组件KTable来进行构造表格。

Eclipse华丽转身之控件表格工厂

先来说一下KTable表格工厂的构建器KTableBuilder,下图为Builder的关系类图;

Eclipse华丽转身之控件表格工厂

当需要使用一个KTableBuilder的时候我们一般直接new一个对象出来,可以看下它三种构造函数中带参数的一种;public KTableBuilder(KTable r_KTable, IKTableColumn[] r_Columns, ITableDataProvider r_TableDataProvider, IAdaptable r_Adaptable) {    this.setTableColumns(r_Columns);    this.setDataProvider(r_TableDataProvider);    this.build(r_KTable,r_Adaptable);  }其中的ITableDataProvider就是数据提供者接口,为表格提供数据和排序。然后表格构建器通过doBuild方法来绘制表格。数据转换器Translator数据转换器,可以将数据转换成复杂控件使用的数据,如表格使用的列表数据;举一个例子来理解什么是Translator,例如Stuido的逻辑流文件(*.bizx文件),用文本编辑器开打后可以看到图形化编辑器中的图元的信息都是使用XML规范来描述的,比如一个运算逻辑图元属性如下图;

Eclipse华丽转身之控件表格工厂

3  
 
关键词: 表格 控件 工厂

[ 智能网搜索 ]  [ 打印本文 ]  [ 违规举报

猜你喜欢

 
推荐图文
ITECH直流电源在人工智能领域的应用 基于朴素贝叶斯自动过滤垃圾广告
2020年是人工智能相关业务发展的重要一年 我国人工智能市场规模、行业短板、发展前景一览
推荐智能网
点击排行

 
 
新能源网 | 锂电网 | 智能网 | 环保设备网 | 联系方式