From 740ae4fb47100874febc9b8a568d7147b2db028e Mon Sep 17 00:00:00 2001 From: zheng Date: Thu, 27 Sep 2018 15:26:30 +0800 Subject: [PATCH] =?UTF-8?q?CHART-3073=20=E5=AD=97=E6=AE=B5=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E6=A1=86=E5=8C=85=E5=90=AB=E6=97=A0=E8=BF=99=E4=B8=AA?= =?UTF-8?q?=E9=80=89=E9=A1=B9=20&&=20CHART-3060=20=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E6=97=A0=E5=92=8C=E8=8B=B1=E6=96=87none?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/gui/icombobox/UIComboBox.java | 16 +++++++ .../chart/gui/data/table/DataPaneHelper.java | 12 +---- .../AbstractExtendedChartTableDataPane.java | 23 +++++----- .../ExtendedCustomFieldComboBoxPane.java | 32 +++++--------- .../fr/extended/chart/UIComboBoxWithNone.java | 44 +++++++++++++++++++ 5 files changed, 82 insertions(+), 45 deletions(-) create mode 100644 designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java diff --git a/designer-base/src/main/java/com/fr/design/gui/icombobox/UIComboBox.java b/designer-base/src/main/java/com/fr/design/gui/icombobox/UIComboBox.java index 14a90da7b..e6130ca3d 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icombobox/UIComboBox.java +++ b/designer-base/src/main/java/com/fr/design/gui/icombobox/UIComboBox.java @@ -15,6 +15,7 @@ import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; +import java.util.List; import java.util.Vector; /** @@ -131,6 +132,21 @@ public class UIComboBox extends JComboBox implements UIObserver, GlobalNameObser return new Dimension(super.getPreferredSize().width + SIZE5, SIZE); } + public void refreshBoxItems(List list) { + Object ob = getSelectedItem(); + + removeAllItems(); + for (Object o : list) { + addItem(o); + } + + getModel().setSelectedItem(ob); + } + + public void clearBoxItems() { + removeAllItems(); + } + /** * 鼠标进入事件 */ diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/table/DataPaneHelper.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/table/DataPaneHelper.java index 3fb9d6a63..69cf88286 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/table/DataPaneHelper.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/table/DataPaneHelper.java @@ -21,15 +21,7 @@ public class DataPaneHelper { return; } - Object ob = box.getSelectedItem(); - box.removeAllItems(); - - int length = list.size(); - for (int i = 0; i < length; i++) { - box.addItem(list.get(i)); - } - - box.getModel().setSelectedItem(ob); + box.refreshBoxItems(list); } /** @@ -39,7 +31,7 @@ public class DataPaneHelper { */ public static void clearBoxItems(UIComboBox box) { if (box != null) { - box.removeAllItems(); + box.clearBoxItems(); } } diff --git a/designer-chart/src/main/java/com/fr/extended/chart/AbstractExtendedChartTableDataPane.java b/designer-chart/src/main/java/com/fr/extended/chart/AbstractExtendedChartTableDataPane.java index 0ac454634..e0bf8de70 100644 --- a/designer-chart/src/main/java/com/fr/extended/chart/AbstractExtendedChartTableDataPane.java +++ b/designer-chart/src/main/java/com/fr/extended/chart/AbstractExtendedChartTableDataPane.java @@ -10,13 +10,14 @@ import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.chart.gui.data.CalculateComboBox; import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane; import com.fr.general.GeneralUtils; + +import javax.swing.BorderFactory; +import javax.swing.JPanel; +import javax.swing.SwingConstants; import java.awt.BorderLayout; import java.awt.Component; import java.util.Arrays; import java.util.List; -import javax.swing.BorderFactory; -import javax.swing.JPanel; -import javax.swing.SwingConstants; /** * Created by shine on 2018/3/2. @@ -52,8 +53,8 @@ public abstract class AbstractExtendedChartTableDataPane fieldList = new ArrayList(); - public ExtendedCustomFieldComboBoxPane(boolean hasNoneItem) { - this.hasNoneItem = hasNoneItem; - } - @Override protected void initLayout() { this.setLayout(new BorderLayout(0, 6)); @@ -76,6 +70,10 @@ public class ExtendedCustomFieldComboBoxPane extends UIComboBoxPane