From 4e444f507a11b7408cb363f0da2009f105b6f5a3 Mon Sep 17 00:00:00 2001 From: "Qinghui.Liu" Date: Tue, 11 Aug 2020 14:02:25 +0800 Subject: [PATCH] =?UTF-8?q?CHART-14922=20=E6=98=8E=E7=BB=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9D=A2=E6=9D=BF=E4=BD=BF=E7=94=A8=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E4=BB=A3=E6=9B=BF=E4=B8=8B=E6=8B=89=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../table/BoxPlotTableSeriesTypeUsePane.java | 98 ++++++++++++++----- 1 file changed, 74 insertions(+), 24 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/van/chart/box/data/table/BoxPlotTableSeriesTypeUsePane.java b/designer-chart/src/main/java/com/fr/van/chart/box/data/table/BoxPlotTableSeriesTypeUsePane.java index b9993440ff..ab0bcfae31 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/box/data/table/BoxPlotTableSeriesTypeUsePane.java +++ b/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 { +public class BoxPlotTableSeriesTypeUsePane extends BasicBeanPane { - private static boolean NEED_SUMMERY = false; + private static final boolean NEED_SUMMERY = false; private UIComboBox categoryCombox; private BoxPlotTableSeriesNameUseFieldValuePane nameFieldValuePane; private BoxPlotTableSeriesNameUseFieldNamePane nameFieldNamePane; + private UIButtonGroup 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