【仅供内部供应商使用,不提供对外解答和培训】

Page tree

【仅供内部供应商使用,不提供对外解答和培训】

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

文档目的

fineKit作为面向开发者开放的插件接口项目,旨在为开发者提供稳定,可靠的接口。

图表接口在本次重构之后,在fineKit中进行了二次封装提供给开发者使用。

该文档主要对fineKit中的图表的接口进行介绍,供开发者参考和学习。

设计器接口

BaseCellDataFieldsPane<T extends BaseColumnFieldCollection>(抽象类)

单元格数据源的配置面板

1.protected void initComponents():初始化面板布局,默认会加载北部、中部和南部的面板。

2.protected JPanel createCenterPane():创建中部位置的面板,默认会通过定义的所有的组件和组件名称生成面板。

3.protected JPanel createNorthPane():创建北部位置的面板,默认生成空面板

4.protected JPanel createSouthPane():创建南部位置的面板,默认生成空面板

5.protected Component[] fieldComponents():定义面板中所有组件,默认会去获取所有公式组件

6.protected abstract String[] fieldLabels():定义面板中所有组件的名称

7.protected abstract UIFormulaTextField[] formulaPanes():定义面板中的公式组件

8.protected void populateField(UIFormulaTextField formulaPane, ColumnField field):根据字段对象的属性,更新公式组件的值。

9.protected void updateField(UIFormulaTextField formulaPane, ColumnField field):根据公式组件的值,更新字段对象的属性。

BaseDataSetFieldsPane<T extends BaseColumnFieldCollection>(抽象类)

数据集数据源的配置面板

1.protected void initComponents():初始化面板布局,默认会加载北部、中部和南部的面板。

2.protected JPanel createCenterPane():创建中部位置的面板,默认会通过定义的所有的组件和组件名称生成面板。

3.protected JPanel createNorthPane():创建北部位置的面板,默认生成空面板

4.protected JPanel createSouthPane():创建南部位置的面板,默认生成空面板

5.protected Component[] fieldComponents():定义面板中所有组件,默认会去获取所有的下拉框组件

6.protected abstract String[] fieldLabels():定义面板中所有组件的名称

7.protected abstract UIComboBox[] filedComboBoxes():定义面板中的下拉框组件

8.protected void populateField(UIComboBox comboBox, ColumnField field):根据字段对象的属性,更新下拉选择组件的值。

9.protected void updateField(UIComboBox comboBox, ColumnField field):根据下拉选择组件的值,更新字段对象的属性。

10.protected void populateFunctionField(UIComboBox comboBox, CalculateComboBox calculateComboBox, ColumnField field):根据字段对象的属性,更新下拉选择组件和汇总方式选择组件的值。

11.protected void updateFunctionField(UIComboBox comboBox, CalculateComboBox calculateComboBox, ColumnField field):根据下拉选择组件和汇总方式选择组件的值,更新字段对象的属性。


SingleDataPane

组合单元格数据源配置和数据集数据源配置的界面。

1.public SingleDataPane(BaseDataSetFieldsPane dataSetFieldsPane, BaseCellDataFieldsPane cellDataFieldsPane):构造函数,包含单元格数据源配置界面和数据集数据源配置界面

BaseDataPane(抽象类)

定义了图表配置界面中的数据配置界面。

1.protected abstract SingleDataPane createSingleDataPane():创建单元格数据源配置和数据集数据源配置的组合界面。

DefaultTypePane<T extends BaseChartWithData>

定义了图表配置界面中的类型配置界面。

1.protected String[] getTypeIconPath():获取图表类型界面图表选择子类型的缩略图路径,默认使用UI界面插入图表时子类型的图片路径

2.protected String[] getTypeTipName():获取图表类型界面图表选择子类型的缩略图提示内容,默认使用UI界面插入图表时的图表子类型名称

3.public ChartProvider getDefaultChart():获取图表子类型对象,默认使用BaseChartType.getChartTypes()返回的第一个对象

4.public String title4PopupWindow():获取图表类型界面切换图表类型名称。默认使用UI界面插入图表时的图表名称。

5.protected int getSelectIndexInChart(T chart):根据图表对象返回该图表对象的所对应的子类型序号,默认返回0

6.protected void setSelectIndexInChart(T chart, int index):根据图表子类型序号,还原图表对象对应的属性。

7.protected Component[][] getPaneComponents(JPanel typePane):构建类型选择面板的组件。

8.public void populateBean(T ob):通过图表对象的属性,还原选择的图表类型,子类定义其他组件需要覆写该方法时候先调用父类该方法。

9.public void updateBean(T ob):根据所选择的图表类型,还原图表类型的属性,子类定义其他组件需要覆写该方法时候先调用父类该方法。

BaseOtherPane<T extends BaseChartWithData>(抽象类)

其他类型的面板,可以根据需求自由定义。

1.protected abstract JPanel createContentPane():创建内容面板

2.public String title4PopupWindow():定义界面标题

DefaultOtherPane<T extends BaseChartWithData>

其他面板的子类,默认包含超链和自动刷新,可以直接使用该面板,也可以继承之后重新定义面板的组件。

1.protected JPanel createContentPane():创建包含自动刷新和超链选择的面板。

2.public String title4PopupWindow():默认的标题名称:特效。

3.protected JPanel createRefreshPane():创建自动刷新面板。

4.protected JPanel createHyperlinkPane():创建超链面板。

5.public void populate(T ob):根据图表对象属性还原面板选项。

6.public void update(T ob):根据面板选项更新图表对象属性。

BaseChartTypeUI(抽象类)

主要定义了图表相关的界面,包含图表选择中的图表名称、图表子名称、图表示例图片路径,图表Icon路径,图表配置界面中的类型选择界面、数据配置界面以及其他界面。

1.public DefaultTypePane getPlotTypePane():定义图表类型配置界面,默认返回一个DefaultTypePane对象。

2.public abstract BaseDataPane getChartDataPane(AttributeChangeListener listener):定义图表数据配置界面。

3.public abstract BaseOtherPane[] getAttrPaneArray(AttributeChangeListener listener):定义图表其他的配置界面。

4.public String[] getSubName():定义图表类型选择界面子类型的名称,默认使用图表名称作为子名称使用。

5.public abstract String getIconPath(): 定义图表的icon图片路径。

6.public abstract String getName():定义图表图表类型选择界面的类型名称。

7.public abstract String[] getDemoImagePath():定义图表类型选择界面子类型的示例图片路径。

图表属性接口

BaseColumnFieldCollection(抽象类)

图表数据源的字段集合类,需要定义数据源中对应的字段,使用开放类ColumnField进行定义,对于作为数据汇总时条件的字段,需要添加@KeyField注解。

BaseChartType(抽象类)

图表类型,定义了图表所有子类型的图表对象,预览需要的js,css以及图表对象在js中的对象名。

1.public abstract BaseChartWithData[] getChartTypes():该种图表所有的图表对象实例,比如柱形图就有堆积柱形图,百分比堆积柱形图等等

2.public abstract String[] getRequiredJS():图表在web端展现时需要的JS文件路径

3.public abstract String[] getRequiredCss():图表在web端展现时需要的CSS文件路径

4.public abstract String getWrapperName():JS对象名,该对象一般是一个函数,执行后会在给定的dom中绘制图表

BaseChartWithData(抽象类)

后台的图表属性类。包含了图表的属性集合。

1.public void dealFormula(FormulaProcessor formulaProcessor):处理公式,调用formulaProcessor.dealWith方法,覆写该方法需要调用父类的方法。

2.protected Image designImage(int width, int height, int resolution, ChartWebParaProvider chartWebPara):生成设计器中显示的图片,默认返回一个饼图的图片。

3.protected Image exportImage(int width, int height, int resolution, ChartWebParaProvider chartWebPara):导出的图片,默认返回空白图片。

4.public JSONObject createAttributeConfig(ChartWebParaProvider chartWebPara):生成图表预览的options,子类先调用父类该方法生成JSON后添加自己的属性。

5.protected HyperLinkPara[] hyperLinkParas():定义新增特殊的超链中参数下拉可选项。

6.protected void readAttr(XMLableReader xmLableReader):读取xml中的基本数据类型属性,子类覆写该方法需要先调用父类的该方法。

7.protected void writeAttr(XMLPrintWriter xmlPrintWriter):将基本数据类型属性写入xml,子类覆写该方法需要先调用父类的该方法。

8.public abstract String getID():定义图表的ID,与plugin.xml中的chartID对应。

9.public <T extends BaseColumnFieldCollection> T getColumnFieldCollection(Class<T> var1):获取字段集合对象。

其他类

ColumnField

作为开放类使用,作为数据源中的配置对应的数据结构使用。定义在BaseColumnFieldCollection的子类中,对于作为数据汇总条件的字段时,需要加@KeyField注解。

主要属性:String fieldName(对应配置的字段名称)、DataFunction dataFunction(对于需要做汇总的属性,对应的汇总方式)、List<Object> values(对应计算完成存放结果的集合)。

HyperLinkPara

作为开放类使用,定义新增特殊的超链中参数下拉可选项。

1.public abstract String getName():超链参数下拉可选项的名称

2.public abstract String getFormulaContent():超链参数的内容

3.public abstract String[] getProps():当前点击图形对象时候获取的属性路径,比如echarts饼图的分类属性在data:[{value:"xxx",name:"xxx"}],则返回结果{"data","name"}.

FineCanvas

用于辅助导出图表的类,绑定了一套JS引擎以及后端实现的canvas方法,可以通过该类使用前端代码完成后端的图片绘制。

public FineCanvas():构造函数,创建一个绘图的JavaScript环境。

public FineCanvas(String... filePath):构造函数,创建一个绘图的JavaScript环境,并加载依赖的JavaScript文件。

public void loadText(String... text):将JavaScript语句加载到缓存区。

public void loadTextAndExecute(String... text):立即执行JavaScript语句。

public void loadAndExecute(String... filePath):加载依赖的JavaScript文件。

public BufferedImage paint():执行缓存区的JavaScript语句,并返回canvas中的BufferedImage对象。

public BufferedImage paint(String functionName, Object... parameters):执行指定的JavaScript方法,并返回canvas中的BufferedImage对象。




  • No labels