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

Page tree

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

Skip to end of metadata
Go to start of metadata

文档目的

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