From bc5e51c8f552b0f6d9b73bc537a090a7ed1e4528 Mon Sep 17 00:00:00 2001 From: Starryi Date: Thu, 21 Oct 2021 16:00:53 +0800 Subject: [PATCH 1/7] =?UTF-8?q?REPORT-61338=20=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E4=B8=BB=E9=A2=98-=E4=B8=BB=E9=A2=98=E9=85=8D=E8=89=B2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BF=9D=E5=AD=98=E5=90=8E=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E7=A9=BA=E7=99=BD=E6=8F=90=E7=A4=BA=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【问题原因】 AlphaFine也会创建一个主题管列界面的面板,用于提 取可以搜索的问题,但是这个面板是不对外展示的,不 应该启用对主题配置数据的监听以及线程池异步加载。 应用启动时,AlphaFine在另一个线程通过反射调用 默认构造函数创建面板,注册了对主题配置数据的监听 器,导致遍历监听器列表时出现并发访问异常,同时 违反了按需加载的主题列表设计意图 【改动思路】 仅在主题管理窗口可见后,再添加监听器和异步加载数据 --- .../theme/TemplateThemeGridControlPane.java | 42 ++++++------- .../theme/TemplateThemeGridPagesPane.java | 48 ++++----------- .../theme/TemplateThemeGridPane.java | 60 ++++++++++++------- .../dialog/TemplateThemeGridPagesDialog.java | 8 +-- 4 files changed, 72 insertions(+), 86 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeGridControlPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeGridControlPane.java index f721923e9..36f4fc146 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeGridControlPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeGridControlPane.java @@ -43,6 +43,8 @@ import java.awt.Stroke; import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; import static com.fr.design.i18n.Toolkit.i18nText; @@ -63,27 +65,31 @@ public class TemplateThemeGridControlPane extends Basic private final AsyncThemeFetcher asyncThemeFetcher; - public static TemplateThemeGridControlPane createFormThemesManagerPane() { + private final Window window; + + public static TemplateThemeGridControlPane createFormThemesManagerPane(Window window) { FormThemeConfig config = FormThemeConfig.getInstance(); FormThemeProfilePane editPane = new FormThemeProfilePane(config); - return new TemplateThemeGridControlPane<>(config, editPane); + return new TemplateThemeGridControlPane<>(window, config, editPane); } - public static TemplateThemeGridControlPane createReportThemesManagerPane() { + public static TemplateThemeGridControlPane createReportThemesManagerPane(Window window) { ReportThemeConfig config = ReportThemeConfig.getInstance(); ReportThemeProfilePane editPane = new ReportThemeProfilePane(config); - return new TemplateThemeGridControlPane<>(config, editPane); + return new TemplateThemeGridControlPane<>(window, config, editPane); } - public TemplateThemeGridControlPane(TemplateThemeConfig config, TemplateThemeProfilePane profilePane) { + public TemplateThemeGridControlPane(Window window, TemplateThemeConfig config, TemplateThemeProfilePane profilePane) { + this.window = window; this.config = config; this.profilePane = profilePane; - this.themeListPane = new TemplateThemeGridPane<>(true, config, profilePane); + this.themeListPane = new TemplateThemeGridPane<>(window, true, config, profilePane); this.removeAction = new RemoveThemeAction(false); this.setTheme4NewTemplateButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Manager_Pane_Default_Setting")); this.asyncThemeFetcher = new AsyncThemeFetcher<>(1, config); initializePane(); + registerWindowListener(); } public TemplateThemeConfig getConfig() { @@ -117,6 +123,16 @@ public class TemplateThemeGridControlPane extends Basic repaint(); } + private void registerWindowListener() { + window.addWindowListener(new WindowAdapter() { + @Override + public void windowClosed(WindowEvent e) { + super.windowClosed(e); + asyncThemeFetcher.shutdown(); + } + }); + } + private void resetEnableRemoveAction(T selectedTheme, RemoveThemeAction removeAction) { if (selectedTheme == null) { removeAction.setEnabled(false); @@ -254,7 +270,6 @@ public class TemplateThemeGridControlPane extends Basic setName(name); setMnemonic('R'); this.prototypeThemeName = prototypeThemeName; - asyncThemeFetcher.submit(prototypeThemeName, null); } @Override @@ -308,17 +323,4 @@ public class TemplateThemeGridControlPane extends Basic g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); } } - - public void startListenThemeConfig() { - themeListPane.startListenThemeConfig(); - } - - public void stopListenThemeConfig() { - themeListPane.stopListenThemeConfig(); - } - - public void stopAsyncFetchTheme() { - asyncThemeFetcher.shutdown(); - themeListPane.stopAsyncFetchTheme(); - } } \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeGridPagesPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeGridPagesPane.java index 40838dbd8..330a2d053 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeGridPagesPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeGridPagesPane.java @@ -38,6 +38,7 @@ import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.Stroke; +import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; @@ -61,11 +62,11 @@ public class TemplateThemeGridPagesPane extends JPanel { private PageChangeListener pageChangeListener; private TemplateThemeGridPagePane currentTemplateThemeGridPagePane; - public TemplateThemeGridPagesPane() { - initializePane(); + public TemplateThemeGridPagesPane(Window window) { + initializePane(window); } - private void initializePane() { + private void initializePane(Window window) { setLayout(new BorderLayout()); setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 10)); @@ -82,9 +83,9 @@ public class TemplateThemeGridPagesPane extends JPanel { add(contentPane, BorderLayout.CENTER); - themeUsingPane = new TemplateThemeUsingPane(); + themeUsingPane = new TemplateThemeUsingPane(window); contentPane.add(themeUsingPane, themeUsingPane.getTitle()); - themeManagingPane = new TemplateThemeManagingPane(); + themeManagingPane = new TemplateThemeManagingPane(window); contentPane.add(themeManagingPane, themeManagingPane.getTitle()); showThemeUsingPane(); @@ -189,11 +190,6 @@ public class TemplateThemeGridPagesPane extends JPanel { return button; } - public void exit() { - themeUsingPane.exit(); - themeManagingPane.exit(); - } - public void setPageChangeListener(PageChangeListener changeListener) { this.pageChangeListener = changeListener; } @@ -232,15 +228,13 @@ public class TemplateThemeGridPagesPane extends JPanel { public abstract static class TemplateThemeGridPagePane extends BasicPane { public abstract TemplateThemeConfig getConfig(); - - public void exit() { } } public static class TemplateThemeUsingPane extends TemplateThemeGridPagePane { private final JTemplate template; public final TemplateThemeGridPane themeListPane; - public TemplateThemeUsingPane() { + public TemplateThemeUsingPane(Window window) { super(); setLayout(new BorderLayout()); setBorder(new CompoundBorder( @@ -249,9 +243,7 @@ public class TemplateThemeGridPagesPane extends JPanel { template = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); TemplateThemeConfig config = template.getUsingTemplateThemeConfig(); - themeListPane = new TemplateThemeGridPane<>(false, config, null); - - themeListPane.startListenThemeConfig(); + themeListPane = new TemplateThemeGridPane<>(window, false, config, null); themeListPane.setSelectedChangeListener(new ChangeListener() { @Override @@ -272,12 +264,6 @@ public class TemplateThemeGridPagesPane extends JPanel { return template.getUsingTemplateThemeConfig(); } - @Override - public void exit() { - themeListPane.stopListenThemeConfig(); - themeListPane.stopAsyncFetchTheme(); - } - @Override protected String title4PopupWindow() { return Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Using_Dialog_Title"); @@ -286,20 +272,16 @@ public class TemplateThemeGridPagesPane extends JPanel { public static class TemplateThemeManagingPane extends TemplateThemeGridPagePane { private final UITabbedPane tabbedPane; - private final TemplateThemeGridControlPane formThemesManagerPane; - private final TemplateThemeGridControlPane reportThemesManagerPane; - public TemplateThemeManagingPane() { + public TemplateThemeManagingPane(Window window) { setLayout(FRGUIPaneFactory.createBorderLayout()); tabbedPane = new UITabbedPane(); tabbedPane.setTabBorderColor(new Color(0xE0E0E1)); add(tabbedPane, BorderLayout.CENTER); - formThemesManagerPane = TemplateThemeGridControlPane.createFormThemesManagerPane(); - formThemesManagerPane.startListenThemeConfig(); - reportThemesManagerPane = TemplateThemeGridControlPane.createReportThemesManagerPane(); - reportThemesManagerPane.startListenThemeConfig(); + TemplateThemeGridControlPane formThemesManagerPane = TemplateThemeGridControlPane.createFormThemesManagerPane(window); + TemplateThemeGridControlPane reportThemesManagerPane = TemplateThemeGridControlPane.createReportThemesManagerPane(window); tabbedPane.addTab(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Manager_Dialog_Form_Tab"), formThemesManagerPane); tabbedPane.addTab(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Manager_Dialog_Report_Tab"), reportThemesManagerPane); @@ -321,14 +303,6 @@ public class TemplateThemeGridPagesPane extends JPanel { } } - @Override - public void exit() { - formThemesManagerPane.stopListenThemeConfig(); - formThemesManagerPane.stopAsyncFetchTheme(); - reportThemesManagerPane.stopListenThemeConfig(); - reportThemesManagerPane.stopAsyncFetchTheme(); - } - @Override protected String title4PopupWindow() { return Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Manager_Dialog_Title"); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeGridPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeGridPane.java index 2af4950f5..5d5ea7052 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeGridPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeGridPane.java @@ -8,8 +8,6 @@ import com.fr.design.event.ChangeEvent; import com.fr.design.event.ChangeListener; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.widget.FRWidgetFactory; -import com.fr.design.widget.WidgetBoundsPaneFactory; import com.fr.stable.StringUtils; import javax.swing.BorderFactory; @@ -18,8 +16,11 @@ import javax.swing.ScrollPaneConstants; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; +import java.awt.Window; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -53,13 +54,17 @@ public class TemplateThemeGridPane extends BasicPane { private ChangeListener changeListener; - public TemplateThemeGridPane(boolean displayTheme4NewTemplateMarker, TemplateThemeConfig config, TemplateThemeProfilePane profilePane) { + private final Window window; + + public TemplateThemeGridPane(Window window, boolean displayTheme4NewTemplateMarker, TemplateThemeConfig config, TemplateThemeProfilePane profilePane) { + this.window = window; this.displayTheme4NewTemplateMarker = displayTheme4NewTemplateMarker; this.config = config; this.profilePane = profilePane; this.contentListPane = new JPanel(); this.asyncThemeFetcher = new AsyncThemeFetcher<>(ASYNC_FETCH_THEME_THREAD_COUNT, config); initializePane(); + registerWindowListener(); } private void initializePane() { @@ -84,6 +89,24 @@ public class TemplateThemeGridPane extends BasicPane { } + private void registerWindowListener() { + window.addWindowListener(new WindowAdapter() { + @Override + public void windowOpened(WindowEvent e) { + super.windowOpened(e); + startListenThemeConfig(); + asyncFetchThemes(); + } + + @Override + public void windowClosed(WindowEvent e) { + super.windowClosed(e); + stopListenThemeConfig(); + asyncThemeFetcher.shutdown(); + } + }); + } + public void fillContentListPane() { contentListPane.removeAll(); List names = config.getThemeNames(); @@ -97,6 +120,7 @@ public class TemplateThemeGridPane extends BasicPane { } } } + private TemplateThemeBlock createCachedTemplateThemeBlock(String name) { TemplateThemeBlock block = blockCache.get(name); if (block == null) { @@ -115,19 +139,6 @@ public class TemplateThemeGridPane extends BasicPane { setSelectedBlock(block); } }); - asyncThemeFetcher.submit(name, new AsyncThemeFetcher.AsyncThemeFetchCallbackAdapter() { - @Override - public void beforeCachedFetch() { - super.beforeCachedFetch(); - block.setTheme(null); - } - - @Override - public void afterCachedFetch(T theme) { - super.afterCachedFetch(theme); - block.setTheme(theme); - } - }); return block; } @@ -154,6 +165,15 @@ public class TemplateThemeGridPane extends BasicPane { asyncThemeFetcher.submit(themeName, new AsyncThemeListItemFetchCallback(themeName)); } + private void asyncFetchThemes() { + List names = config.getThemeNames(); + for (String name: names) { + if (config.contains(name)) { + asyncThemeFetcher.submit(name, new AsyncThemeListItemFetchCallback(name)); + } + } + } + @Override protected String title4PopupWindow() { return null; @@ -163,7 +183,7 @@ public class TemplateThemeGridPane extends BasicPane { return selectedBlock != null ? selectedBlock.getTheme() : null; } - public void startListenThemeConfig() { + private void startListenThemeConfig() { if (themeConfigChangeListener == null) { themeConfigChangeListener = new TemplateThemeConfig.ThemeConfigChangeListener() { @Override @@ -219,17 +239,13 @@ public class TemplateThemeGridPane extends BasicPane { } } - public void stopListenThemeConfig() { + private void stopListenThemeConfig() { if (themeConfigChangeListener != null) { config.removeThemeConfigChangeListener(themeConfigChangeListener); themeConfigChangeListener = null; } } - public void stopAsyncFetchTheme() { - asyncThemeFetcher.shutdown(); - } - private class AsyncThemeListItemFetchCallback extends AsyncThemeFetcher.AsyncThemeFetchCallbackAdapter { private final String themeName; public AsyncThemeListItemFetchCallback(String themeName) { diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/dialog/TemplateThemeGridPagesDialog.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/dialog/TemplateThemeGridPagesDialog.java index 917f078d5..da0649d80 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/dialog/TemplateThemeGridPagesDialog.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/dialog/TemplateThemeGridPagesDialog.java @@ -28,7 +28,7 @@ public class TemplateThemeGridPagesDialog extends TemplateThemeDialog implements @Override protected JPanel createContentPane() { - overallPane = new TemplateThemeGridPagesPane(); + overallPane = new TemplateThemeGridPagesPane(this); overallPane.setPageChangeListener(this); return overallPane; } @@ -43,12 +43,6 @@ public class TemplateThemeGridPagesDialog extends TemplateThemeDialog implements return overallPane.createRightButtons(); } - @Override - public void exit() { - overallPane.exit(); - super.exit(); - } - @Override public void onPageChangeListener() { setupActionButtons(); From 022ae69f07bb6f0280f167c77279a61dcb210145 Mon Sep 17 00:00:00 2001 From: Starryi Date: Thu, 21 Oct 2021 18:08:25 +0800 Subject: [PATCH 2/7] =?UTF-8?q?CHART-21593=20=E3=80=90=E4=B8=BB=E9=A2=98?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E3=80=91=E7=94=9F=E6=88=90=E8=B7=9F=E9=9A=8F?= =?UTF-8?q?=E4=B8=BB=E9=A2=98=E7=9A=84=E7=BB=84=E4=BB=B6=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E6=8B=96=E5=88=B0=E5=85=B6=E4=BB=96=E4=B8=BB=E9=A2=98=E7=9A=84?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=B8=AD=EF=BC=8C=E5=9B=BE=E8=A1=A8=E8=BF=98?= =?UTF-8?q?=E6=98=AF=E8=B7=9F=E9=9A=8F=E4=B8=BB=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【问题原因】 处理新添加组件中的图表主题样式 【改动思路】 同上 --- .../com/fr/design/designer/creator/XCreatorUtils.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XCreatorUtils.java b/designer-form/src/main/java/com/fr/design/designer/creator/XCreatorUtils.java index 408723152..30f9ab307 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XCreatorUtils.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XCreatorUtils.java @@ -3,6 +3,7 @@ */ package com.fr.design.designer.creator; +import com.fr.base.chart.BaseChartCollection; import com.fr.base.theme.FineColorFlushUtils; import com.fr.base.theme.FineColorGather; import com.fr.base.theme.FineColorManager; @@ -86,6 +87,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.Icon; import java.awt.Container; import java.awt.Dimension; +import java.util.List; /** * XCreator的相关处理 @@ -384,7 +386,12 @@ public class XCreatorUtils { public static void setupTemplateTheme(XCreator container, final boolean forceFollowingTheme, final FormTheme currentTemplateUsingTheme, TemplateThemeCompatible compatible) { FineColorGather colorGather = new FineColorManager.FineColorReplaceByTheme(currentTemplateUsingTheme, compatible); - Form.traversalWidget(container.toData(), new WidgetGather() { + Widget root = container.toData(); + List chartCollections = root.getChartCollections(); + for (BaseChartCollection chartCollection: chartCollections) { + chartCollection.onTemplateUsingThemeChange(currentTemplateUsingTheme, compatible); + } + Form.traversalWidget(root, new WidgetGather() { @Override public void dealWith(Widget widget) { TemplateThemeAware themedWidget = (TemplateThemeAware) widget; From 851978c77062f462db22ec1f3150c9d02a06ea4f Mon Sep 17 00:00:00 2001 From: Starryi Date: Thu, 21 Oct 2021 18:10:35 +0800 Subject: [PATCH 3/7] =?UTF-8?q?REPORT-61373=20=E3=80=90=E4=B8=BB=E9=A2=98?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E3=80=9111.0=E7=9A=84=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E4=B8=8D=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【问题原因】 被测试组件仅存在于测试服务器,而下载组件使用的 是正式服务器地址。所以下载失败 【改动思路】 下载组件的地址修改为可根据配置文件自动切换的地址 --- .../com/fr/design/mainframe/share/util/DownloadUtils.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java b/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java index c5b90c785..83ca9a6a3 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/share/util/DownloadUtils.java @@ -39,12 +39,14 @@ import java.security.KeyFactory; import java.security.interfaces.RSAPublicKey; import java.security.spec.X509EncodedKeySpec; +import static com.fr.form.share.constants.ShareComponentConstants.REU_INFO_PATH; + /** * created by Harrison on 2020/05/27 **/ public class DownloadUtils { - private static final String REUSES_URL = CloudCenter.getInstance().acquireUrlByKind("af.reuseInfo") + "file/download"; - private static final String PACKAGE_REUSES_URL = CloudCenter.getInstance().acquireUrlByKind("af.reuseInfo") + "package/download/"; + private static final String REUSES_URL = StableUtils.pathJoin(ShareComponentConstants.REU_INFO_PATH, "file/download"); + private static final String PACKAGE_REUSES_URL = StableUtils.pathJoin(ShareComponentConstants.REU_INFO_PATH, "package/download/"); private static final String CERTIFICATE_PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtsz62CPSWXZE/IYZRiAuTSZkw\n" + "1WOwer8+JFktK0uKLAUuQoBr+UjAMFtRA8W7JgKMDwZy/2liEAiXEOSPU/hrdV8D\n" + "tT541LnGi1X/hXiRwuttPWYN3L2GYm/d5blU+FBNwghBIrdAxXTzYBc6P4KL/oYX\n" + From c84f900dc67dcab74841a97c599e08cd12b70d55 Mon Sep 17 00:00:00 2001 From: Starryi Date: Wed, 20 Oct 2021 18:58:09 +0800 Subject: [PATCH 4/7] =?UTF-8?q?CHART-21560=20=E3=80=90FR11=E3=80=91?= =?UTF-8?q?=E5=9B=BE=E8=A1=A8tab=E5=88=87=E6=8D=A2=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E7=BC=96=E8=BE=91=E5=A4=B1=E6=95=88=EF=BC=8C?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E8=A7=A6=E5=8F=91=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【问题原因】 点击UITabGroup的标签页按钮时,不应该触发fireStateChange, 因为没有配置修改 【改动思路】 同上 --- .../src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java | 2 +- .../src/main/java/com/fr/design/gui/ibutton/UITabGroup.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java index cbebaf9d8..2dc3ab629 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java @@ -314,7 +314,7 @@ public class UIButtonGroup extends JPanel implements GlobalNameObserver, UIOb * @param newSelectedIndex */ public void setSelectedIndex(int newSelectedIndex) { - setSelectedIndex(newSelectedIndex, true); + setSelectedIndex(newSelectedIndex, false); } private void fireStateChanged() { diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UITabGroup.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UITabGroup.java index 1d74d2e1d..d77259104 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UITabGroup.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UITabGroup.java @@ -64,7 +64,7 @@ public class UITabGroup extends UIButtonGroup { @Override protected void setSelectedIndex(int newSelectedIndex, boolean fireChanged) { - super.setSelectedIndex(newSelectedIndex, fireChanged); + super.setSelectedIndex(newSelectedIndex, false); tabChanged(newSelectedIndex); } } \ No newline at end of file From 9c6e4040ef9550db9c75c3f7fe26646b51692168 Mon Sep 17 00:00:00 2001 From: Starryi Date: Fri, 22 Oct 2021 10:56:41 +0800 Subject: [PATCH 5/7] =?UTF-8?q?CHART-21579=20=E6=A8=A1=E7=89=88=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E7=BC=96=E8=BE=91=E9=A1=B5=E9=9D=A2-=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8-=E7=B3=BB=E5=88=97-=E6=B8=90=E5=8F=98=E8=89=B2?= =?UTF-8?q?=E7=9A=84=E8=89=B2=E5=80=BC=E8=81=94=E5=8A=A8=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【问题原因】 交互变更:只有选择了选色控件中的主题色部分才会被重置 联动,若用户选择了自定义配色则不会被重置. 【改动思路】 同上 --- .../fr/design/mainframe/theme/TemplateThemeEditorPane.java | 3 --- .../fr/design/mainframe/theme/edit/ChartStyleEditPane.java | 5 ----- .../mainframe/theme/edit/chart/ChartSeriesStylePane.java | 6 ------ 3 files changed, 14 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeEditorPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeEditorPane.java index e924080ef..0b26f6f8e 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeEditorPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeEditorPane.java @@ -17,7 +17,6 @@ import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.theme.edit.CellStyleListEditPane; import com.fr.design.mainframe.theme.edit.ChartStyleEditPane; -import com.fr.design.mainframe.theme.edit.ui.ColorListExtendedPane; import com.fr.design.mainframe.theme.edit.ui.ColorListPane; import com.fr.design.mainframe.theme.edit.ui.LabelUtils; import com.fr.design.mainframe.theme.ui.AutoCheckTextField; @@ -163,8 +162,6 @@ public abstract class TemplateThemeEditorPane extends J FineColorFlushUtils.replaceCacheObject(theme, replaceByColorScheme); FineColorManager.traverse(theme, replaceByColorScheme); populateBean4CustomEditors(theme); - //图表渐变色 - chartStyleSettingPane.populateGradientBar(colors); this.repaint(); } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ChartStyleEditPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ChartStyleEditPane.java index 3830f02f1..4d75622ae 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ChartStyleEditPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ChartStyleEditPane.java @@ -13,7 +13,6 @@ import com.fr.design.mainframe.theme.edit.chart.ChartTitleAndBackgroundStylePane import javax.swing.BorderFactory; import java.util.ArrayList; import java.util.List; -import java.awt.Color; /** * @author Bjorn @@ -88,10 +87,6 @@ public class ChartStyleEditPane extends MultiTabPane { return chartStyle; } - public void populateGradientBar(List colors) { - chartSeriesStylePane.populateGradientBar(colors); - } - @Override public boolean accept(Object ob) { return false; diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartSeriesStylePane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartSeriesStylePane.java index fbb8f6489..098dc468d 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartSeriesStylePane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartSeriesStylePane.java @@ -74,12 +74,6 @@ public class ChartSeriesStylePane extends AbstractChartStylePane { checkTypeButton(); } - - public void populateGradientBar(List colors) { - gradientBar.updateColor(colors.get(0), colors.get(1)); - this.repaint(); - } - public void update(ThemedChartStyle chartStyle) { chartStyle.getThemedChartSeriesColor().setCombineColor(colorTypeButton.getSelectedIndex() == 0); chartStyle.getThemedChartSeriesColor().setBeginColor(gradientBar.getSelectColorPointBtnP1().getColorInner()); From fae9afc11f79744c6d93da1632109117a28e82b7 Mon Sep 17 00:00:00 2001 From: Starryi Date: Fri, 22 Oct 2021 14:03:45 +0800 Subject: [PATCH 6/7] =?UTF-8?q?REPORT-61413=20=E3=80=90=E4=B8=BB=E9=A2=98?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E3=80=91cpt=E9=A2=84=E8=A7=88=E5=9B=BE?= =?UTF-8?q?=E9=87=8C=E7=9A=84=E5=B7=A6=E4=B8=8A=E8=A7=92=E6=96=9C=E7=BA=BF?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=A0=BC=E5=BA=94=E8=AF=A5=E5=92=8C=E5=B0=8F?= =?UTF-8?q?=E6=A0=87=E9=A2=98=E6=A0=BC=E5=BC=8F=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【问题原因】 表头单元格适用于小标题样式 【改动思路】 同上 --- .../mainframe/theme/preview/ecpreview/ECReportPreviewPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ecpreview/ECReportPreviewPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ecpreview/ECReportPreviewPane.java index 63d75449d..885f480b7 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ecpreview/ECReportPreviewPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ecpreview/ECReportPreviewPane.java @@ -68,7 +68,7 @@ public class ECReportPreviewPane extends UINoOpaquePanel implements ThemePreview Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_EC_Data"), Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_Row_Name")}, new Point2D[]{new Point(159, 71), new Point(225, 49)}); cornerCell.setPreferredSize(new Dimension(225, 71)); - headerCellList.add(cornerCell); + titleCellList.add(cornerCell); northPane.add(cornerCell, BorderLayout.WEST); JPanel centerPane = FRGUIPaneFactory.createBorderLayout_NO_Opaque_Pane(); northPane.add(centerPane, BorderLayout.CENTER); From 900de178295f427720a062a31f66a9d011121e0f Mon Sep 17 00:00:00 2001 From: Starryi Date: Fri, 22 Oct 2021 14:31:29 +0800 Subject: [PATCH 7/7] =?UTF-8?q?REPORT-61415=20=E4=B8=BB=E9=A2=98=E8=89=B2?= =?UTF-8?q?=E9=A2=9C=E8=89=B2=E9=80=89=E6=8B=A9=E6=A1=86=E9=BB=91=E8=89=B2?= =?UTF-8?q?=E5=88=97=E4=B8=8D=E7=AC=A6=E5=90=88=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【问题原因】 修改黑色列标准色色值 【改动思路】 同上 --- .../main/java/com/fr/design/style/color/NewColorSelectPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/style/color/NewColorSelectPane.java b/designer-base/src/main/java/com/fr/design/style/color/NewColorSelectPane.java index 180055b3e..22be3f4dc 100644 --- a/designer-base/src/main/java/com/fr/design/style/color/NewColorSelectPane.java +++ b/designer-base/src/main/java/com/fr/design/style/color/NewColorSelectPane.java @@ -169,7 +169,7 @@ public class NewColorSelectPane extends BasicPane implements ColorSelectable { Color.decode("#CCCCCC"), // 2列灰度色 - Color.decode("#333333"), + Color.decode("#000000"), Color.decode("#FFFFFF"), };