diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypeButtonPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypeButtonPane.java index 8d9ed81530..6c48772b06 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypeButtonPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypeButtonPane.java @@ -275,8 +275,9 @@ public class ChartTypeButtonPane extends BasicBeanPane implemen break; } } - if (editChartType != null) { - editChartType.populateBean(editingCollection.getSelectedChart()); + //切换时重新更新整个面板 + if (parent != null) { + parent.populate(editingCollection); } } } diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypePane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypePane.java index 964b5bc974..6c747c9cc1 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypePane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypePane.java @@ -291,8 +291,10 @@ public class ChartTypePane extends AbstractChartAttrPane{ paneState.setPaneState(collection.getState()); } + // TODO: 2016/11/17 因为现在populate面板时会重新构造面板,所以每次都需要重构 private boolean needReactor(ChartCollection collection) { - return paneState.getChartID() != collection.getRepresentChartID() || paneState.getPaneState() != collection.getState(); + /*return paneState.getChartID() != collection.getRepresentChartID() || paneState.getPaneState() != collection.getState();*/ + return true; } /** @@ -302,9 +304,12 @@ public class ChartTypePane extends AbstractChartAttrPane{ Chart chart = collection.getSelectedChart(); this.remove(leftContentPane); initContentPane(); - this.removeAttributeChangeListener(); + buttonPane.populateBean(collection); chartTypePane.populateBean(chart); + //remove面板之后,就需要重构下拉框 + reactorChartTypePane(collection); + this.initAllListeners(); }