Browse Source

CHART-14922 明细数据面板使用按钮代替下拉框

feature/big-screen
Qinghui.Liu 4 years ago
parent
commit
4e444f507a
  1. 98
      designer-chart/src/main/java/com/fr/van/chart/box/data/table/BoxPlotTableSeriesTypeUsePane.java

98
designer-chart/src/main/java/com/fr/van/chart/box/data/table/BoxPlotTableSeriesTypeUsePane.java

@ -5,9 +5,10 @@ import com.fr.chart.chartattr.ChartCollection;
import com.fr.chart.chartdata.MoreNameCDDefinition;
import com.fr.chart.chartdata.NormalTableDataDefinition;
import com.fr.chart.chartdata.OneValueCDDefinition;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.beans.FurtherBasicBeanPane;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.gui.frpane.UIComboBoxPane;
import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ilable.BoldFontTextLabel;
import com.fr.design.gui.ilable.UILabel;
@ -15,7 +16,6 @@ import com.fr.design.i18n.Toolkit;
import com.fr.design.mainframe.chart.gui.ChartDataPane;
import com.fr.design.mainframe.chart.gui.data.table.DataPaneHelper;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.design.utils.gui.UIComponentUtils;
import com.fr.general.ComparatorUtils;
import com.fr.plugin.chart.box.data.VanBoxTableDefinition;
import com.fr.stable.ArrayUtils;
@ -24,47 +24,91 @@ import com.fr.stable.StringUtils;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.List;
public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollection> {
public class BoxPlotTableSeriesTypeUsePane extends BasicBeanPane<ChartCollection> {
private static boolean NEED_SUMMERY = false;
private static final boolean NEED_SUMMERY = false;
private UIComboBox categoryCombox;
private BoxPlotTableSeriesNameUseFieldValuePane nameFieldValuePane;
private BoxPlotTableSeriesNameUseFieldNamePane nameFieldNamePane;
private UIButtonGroup<Integer> seriesFrom;
private JPanel cardPane;
public BoxPlotTableSeriesTypeUsePane() {
cards = initPaneList();
initComponents();
initLayout();
initListener();
}
protected void initLayout() {
this.setLayout(new BorderLayout(4, LayoutConstants.VGAP_MEDIUM));
private void initComponents() {
nameFieldValuePane = new BoxPlotTableSeriesNameUseFieldValuePane();
nameFieldNamePane = new BoxPlotTableSeriesNameUseFieldNamePane();
nameFieldValuePane.relayoutPane(NEED_SUMMERY);
nameFieldNamePane.relayoutPane(NEED_SUMMERY);
cardPane = new JPanel(new CardLayout()) {
public Dimension getPreferredSize() {
if (seriesFrom.getSelectedIndex() == 0) {
return nameFieldValuePane.getPreferredSize();
} else {
return nameFieldNamePane.getPreferredSize();
}
}
};
cardPane.setBorder(BorderFactory.createEmptyBorder(0, 24, 0, 15));
cardPane.add(nameFieldValuePane, nameFieldValuePane.title4PopupWindow());
cardPane.add(nameFieldNamePane, nameFieldNamePane.title4PopupWindow());
seriesFrom = new UIButtonGroup<>(new String[]{nameFieldValuePane.title4PopupWindow(), nameFieldNamePane.title4PopupWindow()});
seriesFrom.setSelectedIndex(0);
addItemChangeEvent();
}
private void addItemChangeEvent() {
seriesFrom.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
checkCardPane();
}
});
}
private void checkCardPane() {
comboBoxItemStateChanged();
CardLayout cl = (CardLayout) cardPane.getLayout();
if (seriesFrom.getSelectedIndex() == 0) {
cl.show(cardPane, nameFieldValuePane.title4PopupWindow());
} else {
cl.show(cardPane, nameFieldNamePane.title4PopupWindow());
}
}
private void initLayout() {
this.setLayout(new BorderLayout(4, LayoutConstants.VGAP_MEDIUM));
this.add(createNorthPane(), BorderLayout.NORTH);
this.add(createCenterPane(), BorderLayout.CENTER);
this.add(cardPane, BorderLayout.SOUTH);
}
protected UIComboBox createComboBox() {
UIComboBox uiComboBox = new UIComboBox();
UIComponentUtils.setPreferedWidth(uiComboBox, 100);
return uiComboBox;
}
private JPanel createNorthPane() {
JPanel north = new JPanel(new BorderLayout(4, 0));
north.setBorder(BorderFactory.createMatteBorder(0, 0, 6, 1, getBackground()));
north.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 1, getBackground()));
UILabel label = new BoldFontTextLabel(Toolkit.i18nText("Fine-Design_Chart_Style_Category"));
label.setPreferredSize(new Dimension(ChartDataPane.LABEL_WIDTH, ChartDataPane.LABEL_HEIGHT));
@ -74,8 +118,8 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
categoryCombox.setSelectedItem(null);
north.add(GUICoreUtils.createBorderLayoutPane(new Component[]{categoryCombox, null, null, label, null}));
north.setPreferredSize(new Dimension(246, 30));
north.setBorder(BorderFactory.createEmptyBorder(0, 24, 10, 15));
north.setPreferredSize(new Dimension(246, 20));
north.setBorder(BorderFactory.createEmptyBorder(0, 24, 0, 15));
return north;
}
@ -85,7 +129,7 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
UILabel label = new UILabel(Toolkit.i18nText("Fine-Design_Chart_Series_Name_From"));
label.setPreferredSize(new Dimension(ChartDataPane.LABEL_WIDTH, ChartDataPane.LABEL_HEIGHT));
center.add(GUICoreUtils.createBorderLayoutPane(new Component[]{jcb, null, null, label, null}));
center.add(GUICoreUtils.createBorderLayoutPane(new Component[]{seriesFrom, null, null, label, null}));
center.setBorder(BorderFactory.createEmptyBorder(0, 24, 0, 15));
return center;
@ -102,7 +146,7 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
public void checkBoxUse(boolean hasUse) {
categoryCombox.setEnabled(hasUse);
jcb.setEnabled(hasUse);
seriesFrom.setEnabled(hasUse);
nameFieldValuePane.checkUse(hasUse);
}
@ -152,15 +196,15 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
}
public void relayoutPane() {
if (jcb.getSelectedIndex() == 0) {
if (seriesFrom.getSelectedIndex() == 0) {
nameFieldValuePane.relayoutPane(NEED_SUMMERY);
} else {
nameFieldNamePane.relayoutPane(NEED_SUMMERY);
}
}
protected void comboBoxItemStateChanged() {
if (jcb.getSelectedIndex() == 0) {
private void comboBoxItemStateChanged() {
if (seriesFrom.getSelectedIndex() == 0) {
nameFieldValuePane.relayoutPane(NEED_SUMMERY);
} else {
nameFieldNamePane.relayoutPane(NEED_SUMMERY);
@ -176,14 +220,16 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
}
if (definition instanceof OneValueCDDefinition) {
this.setSelectedIndex(0);
seriesFrom.setSelectedIndex(0);
nameFieldValuePane.populateDefinition(definition, NEED_SUMMERY);
} else if (definition instanceof MoreNameCDDefinition) {
this.setSelectedIndex(1);
seriesFrom.setSelectedIndex(1);
nameFieldNamePane.populateDefinition(definition, NEED_SUMMERY);
}
populateCategoryItem(categoryCombox, definition.getCategoryName());
checkCardPane();
}
public void updateBean(ChartCollection collection) {
@ -195,7 +241,7 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
NormalTableDataDefinition definition;
if (this.getSelectedIndex() == 0) {
if (seriesFrom.getSelectedIndex() == 0) {
definition = nameFieldValuePane.updateDefinition();
} else {
definition = nameFieldNamePane.updateDefinition(table.getDetailedDefinition());
@ -222,4 +268,8 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
}
}
public ChartCollection updateBean() {
return null;
}
}

Loading…
Cancel
Save