diff --git a/designer-chart/src/main/java/com/fr/design/ChartTypeInterfaceManager.java b/designer-chart/src/main/java/com/fr/design/ChartTypeInterfaceManager.java index b931aa991..57d977214 100644 --- a/designer-chart/src/main/java/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer-chart/src/main/java/com/fr/design/ChartTypeInterfaceManager.java @@ -374,11 +374,15 @@ public class ChartTypeInterfaceManager implements ExtraChartDesignClassManagerPr } result[i] = Reflect.on(chart).call("demoImagePath").get(); } + + if (ArrayUtils.isNotEmpty(result)) { + return result; + } } catch (Exception e) { //do nothing } - return new String[0]; + return new String[]{getIconPath(chartID)}; } public String[] getSubName(String chartID) { diff --git a/designer-chart/src/main/java/com/fr/design/chart/ChartTypePane.java b/designer-chart/src/main/java/com/fr/design/chart/ChartTypePane.java index eb17cc41f..0eb70fd12 100644 --- a/designer-chart/src/main/java/com/fr/design/chart/ChartTypePane.java +++ b/designer-chart/src/main/java/com/fr/design/chart/ChartTypePane.java @@ -11,6 +11,7 @@ import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.log.FineLoggerFactory; +import com.fr.stable.StringUtils; import javax.swing.BorderFactory; import javax.swing.DefaultListCellRenderer; @@ -98,8 +99,8 @@ public class ChartTypePane extends ChartCommonWizardPane { String[] subName = ChartTypeInterfaceManager.getInstance().getSubName(id); ChartTypePane.this.iconListModel.clear(); - for (int i = 0, len = demoImagePath.length; i < len; i++) { - String ImagePath = demoImagePath[i]; + for (int i = 0, len = subName.length; i < len; i++) { + String ImagePath = demoImagePath.length > i ? demoImagePath[i] : StringUtils.EMPTY; String chartName = subName[i]; ChartTypePane.this.iconListModel.addElement(new ChartIcon(ImagePath, chartName)); } diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/ChartEditPane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/ChartEditPane.java index 6d6f73ea2..5ecfa1071 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/ChartEditPane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/ChartEditPane.java @@ -1,6 +1,7 @@ package com.fr.design.mainframe.chart; +import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.ChartCollection; import com.fr.chartx.attr.ChartProvider; import com.fr.design.ChartTypeInterfaceManager; @@ -130,6 +131,10 @@ public class ChartEditPane extends BasicPane implements AttributeChange,Prepare4 } }; + @Deprecated + public void reLayout(Chart currentChart) { + } + /** * 重新构造面板 * @param currentChart 图表 @@ -225,8 +230,14 @@ public class ChartEditPane extends BasicPane implements AttributeChange,Prepare4 return; } - if (checkNeedsReLayout(collection.getSelectedChartProvider())) { - reLayout(collection.getSelectedChartProvider()); + ChartProvider chartProvider = collection.getSelectedChartProvider(); + if (checkNeedsReLayout(chartProvider)) { + String chartID = chartProvider.getID(); + if ("WaferChipChart".equals(chartID) || "BoxPlotChart".equals(chartID)) { + reLayout((Chart)chartProvider); + } else { + reLayout(chartProvider); + } } this.collection = collection;