From 0057ee14758f6eaa01cffd70b9e0616c14cdf8ed Mon Sep 17 00:00:00 2001 From: "Henry.Wang" Date: Thu, 7 Apr 2022 14:30:06 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-68602=20=E7=B3=BB=E5=88=97=E5=A0=86?= =?UTF-8?q?=E7=A7=AF=E5=92=8C=E6=9D=A1=E4=BB=B6=E5=B1=9E=E6=80=A7=E5=BC=B9?= =?UTF-8?q?=E6=A1=86=E5=A4=9A=E4=BA=86=E2=80=9C=E4=BF=9D=E5=AD=98=E2=80=9D?= =?UTF-8?q?=E5=92=8C=E2=80=9C=E5=8F=96=E6=B6=88=E2=80=9D=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E9=A1=B9=20&&=20=E7=B3=BB=E5=88=97REPORT-69013=20=E5=8F=8C?= =?UTF-8?q?=E5=87=BBfvs=E6=96=87=E4=BB=B6=EF=BC=8C=E5=94=A4=E8=B5=B7?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8=E5=90=8E=E4=B8=8D=E4=BC=9A=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=89=93=E5=BC=80=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/gui/controlpane/UIControlPane.java | 2 +- .../main/java/com/fr/start/BaseDesigner.java | 26 +++++++++++++------ .../component/VanChartUIListControlPane.java | 4 +-- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java index f7229136f..f9a3ed0db 100644 --- a/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java @@ -212,7 +212,7 @@ public abstract class UIControlPane extends JControlPane { } // 点击"编辑"按钮,弹出面板 - class PopupEditDialog extends JDialog { + protected class PopupEditDialog extends JDialog { private JComponent editPane; private PopupToolPane popupToolPane; private static final int WIDTH = 570; diff --git a/designer-base/src/main/java/com/fr/start/BaseDesigner.java b/designer-base/src/main/java/com/fr/start/BaseDesigner.java index 2633cedd4..360e9cdfa 100644 --- a/designer-base/src/main/java/com/fr/start/BaseDesigner.java +++ b/designer-base/src/main/java/com/fr/start/BaseDesigner.java @@ -3,6 +3,7 @@ */ package com.fr.start; +import com.fr.base.extension.FileExtension; import com.fr.common.report.ReportState; import com.fr.design.DesignerEnvManager; import com.fr.design.ExtraDesignClassManager; @@ -34,6 +35,7 @@ import com.fr.stable.OperatingSystem; import com.fr.start.event.LazyStartupEvent; import com.fr.workspace.base.WorkspaceStatus; + import java.awt.Window; import java.io.File; import java.lang.reflect.Method; @@ -121,14 +123,7 @@ public abstract class BaseDesigner extends ToolBarMenuDock { } File f = new File(arg); String path = f.getAbsolutePath(); - boolean pathends1 = path.endsWith(".cpt") - || path.endsWith(".xls"); - boolean pathends2 = path.endsWith(".xlsx") - || path.endsWith(".frm"); - boolean pathends3 = path.endsWith(".form") - || path.endsWith(".cht"); - boolean pathends4 = pathends1 || pathends2 || pathends3; - if (pathends4 || path.endsWith(".chart")) { + if (isAcceptFilePathEnd(path)) { file = new FileFILE(f); } } @@ -148,6 +143,21 @@ public abstract class BaseDesigner extends ToolBarMenuDock { } } + private boolean isAcceptFilePathEnd(String path) { + FileExtension[] acceptFileExtensions = new FileExtension[]{ + FileExtension.CPT, FileExtension.XLS, FileExtension.XLSX, FileExtension.FRM, FileExtension.CHT, FileExtension.VIS + }; + for (FileExtension acceptFileExtension : acceptFileExtensions) { + String[] extensions = acceptFileExtension.getExtensions(); + for (String extension : extensions) { + if (path.endsWith("." + extension)) { + return true; + } + } + } + return false; + } + private boolean openFile(final DesignerFrame df, boolean isException, FILE file) { //启动时打开指定文件的接口 diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartUIListControlPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartUIListControlPane.java index ce8253b98..823012f58 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartUIListControlPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartUIListControlPane.java @@ -128,7 +128,7 @@ public abstract class VanChartUIListControlPane extends UIListControlPane implem public void populate(Nameable[] nameableArray) { //特殊处理,使用instanceof判断,弹出不同的面板 - if (SwingUtilities.getWindowAncestor(this) instanceof JDialog) { + if (SwingUtilities.getWindowAncestor(this) instanceof PopupEditDialog) { popupEditDialog = new HyperDialog(cardPane); } super.populate(nameableArray); @@ -136,7 +136,7 @@ public abstract class VanChartUIListControlPane extends UIListControlPane implem protected void popupEditDialog(Point mousePos) { //特殊处理,处理连续弹窗情况,弹出面板定为方式不同 - if (SwingUtilities.getWindowAncestor(this) instanceof JDialog) { + if (SwingUtilities.getWindowAncestor(this) instanceof PopupEditDialog) { GUICoreUtils.centerWindow(popupEditDialog); popupEditDialog.setVisible(true); return;