|
|
|
package com.fanruan.api.design.chart.field;
|
|
|
|
|
|
|
|
import com.fanruan.api.design.ui.component.formula.UIFormulaTextField;
|
|
|
|
import com.fanruan.api.report.chart.field.BaseColumnFieldCollection;
|
|
|
|
import com.fr.chartx.data.field.ColumnField;
|
|
|
|
import com.fr.design.chartx.fields.AbstractCellDataFieldsPane;
|
|
|
|
|
|
|
|
import javax.swing.JPanel;
|
|
|
|
import java.awt.Component;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author Bjorn
|
|
|
|
* @version 10.0
|
|
|
|
* Created by Bjorn on 2019-09-17
|
|
|
|
*/
|
|
|
|
public abstract class BaseCellDataFieldsPane<T extends BaseColumnFieldCollection> extends AbstractCellDataFieldsPane<T> {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 初始化面板布局,默认会加载北部、中部和南部的面板
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
protected void initComponents() {
|
|
|
|
super.initComponents();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 创建中部位置的面板,默认会通过所有的组件和组件名称生成面板。
|
|
|
|
*
|
|
|
|
* @return 面板
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
protected JPanel createCenterPane() {
|
|
|
|
return super.createCenterPane();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 创建北部位置的面板,默认生成空面板
|
|
|
|
*
|
|
|
|
* @return 面板
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
protected JPanel createNorthPane() {
|
|
|
|
return super.createNorthPane();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 创建南部位置的面板,默认生成空面板
|
|
|
|
*
|
|
|
|
* @return 面板
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
protected JPanel createSouthPane() {
|
|
|
|
return super.createSouthPane();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 面板中所有组件,默认会去获取所有公式组件
|
|
|
|
*
|
|
|
|
* @return 所有组件的集合
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
protected Component[] fieldComponents() {
|
|
|
|
return super.fieldComponents();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 面板中所有组件的名称
|
|
|
|
*
|
|
|
|
* @return 所有组件的名称集合
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
protected abstract String[] fieldLabels();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 面板中的公式组件
|
|
|
|
*
|
|
|
|
* @return 公式组件的集合
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
protected abstract UIFormulaTextField[] formulaPanes();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 根据字段对象的属性,更新公式组件的值
|
|
|
|
*/
|
|
|
|
protected void populateField(UIFormulaTextField formulaPane, ColumnField field) {
|
|
|
|
AbstractCellDataFieldsPane.populateField(formulaPane, field);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 根据公式组件的值,更新字段对象的属性
|
|
|
|
*/
|
|
|
|
protected void updateField(UIFormulaTextField formulaPane, ColumnField field) {
|
|
|
|
AbstractCellDataFieldsPane.updateField(formulaPane, field);
|
|
|
|
}
|
|
|
|
}
|