【仅供内部供应商使用,不提供对外解答和培训】
【仅供内部供应商使用,不提供对外解答和培训】
fineKit作为面向开发者开放的插件接口项目,旨在为开发者提供稳定,可靠的接口。
图表接口在本次重构之后,在fineKit中进行了二次封装提供给开发者使用。
该文档主要对fineKit中的图表的接口进行介绍,供开发者参考和学习。
单元格数据源的配置面板
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):根据公式组件的值,更新字段对象的属性。
数据集数据源的配置面板
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):根据下拉选择组件和汇总方式选择组件的值,更新字段对象的属性。
组合单元格数据源配置和数据集数据源配置的界面。
1.public SingleDataPane(BaseDataSetFieldsPane dataSetFieldsPane, BaseCellDataFieldsPane cellDataFieldsPane):构造函数,包含单元格数据源配置界面和数据集数据源配置界面
定义了图表配置界面中的数据配置界面。
1.protected abstract SingleDataPane createSingleDataPane():创建单元格数据源配置和数据集数据源配置的组合界面。
定义了图表配置界面中的类型配置界面。
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):根据所选择的图表类型,还原图表类型的属性,子类定义其他组件需要覆写该方法时候先调用父类该方法。
其他类型的面板,可以根据需求自由定义。
1.protected abstract JPanel createContentPane():创建内容面板
2.public String title4PopupWindow():定义界面标题
其他面板的子类,默认包含超链和自动刷新,可以直接使用该面板,也可以继承之后重新定义面板的组件。
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):根据面板选项更新图表对象属性。
主要定义了图表相关的界面,包含图表选择中的图表名称、图表子名称、图表示例图片路径,图表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():定义图表类型选择界面子类型的示例图片路径。
图表数据源的字段集合类,需要定义数据源中对应的字段,使用开放类ColumnField进行定义,对于作为数据汇总时条件的字段,需要添加@KeyField注解。
图表类型,定义了图表所有子类型的图表对象,预览需要的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中绘制图表
后台的图表属性类。包含了图表的属性集合。
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):获取字段集合对象。
作为开放类使用,作为数据源中的配置对应的数据结构使用。定义在BaseColumnFieldCollection的子类中,对于作为数据汇总条件的字段时,需要加@KeyField注解。
主要属性:String fieldName(对应配置的字段名称)、DataFunction dataFunction(对于需要做汇总的属性,对应的汇总方式)、List<Object> values(对应计算完成存放结果的集合)。
作为开放类使用,定义新增特殊的超链中参数下拉可选项。
1.public abstract String getName():超链参数下拉可选项的名称
2.public abstract String getFormulaContent():超链参数的内容
3.public abstract String[] getProps():当前点击图形对象时候获取的属性路径,比如echarts饼图的分类属性在data:[{value:"xxx",name:"xxx"}],则返回结果{"data","name"}.
用于辅助导出图表的类,绑定了一套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对象。