From 3ce16f7b9f690e2382126a59a775359e0b4e2ece Mon Sep 17 00:00:00 2001 From: shine Date: Fri, 22 Jul 2022 09:57:13 +0800 Subject: [PATCH 1/6] =?UTF-8?q?REPORT-75575=20design=20feat:fvs=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=85=A8=E5=B1=80=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/toolbar/ToolBarMenuDock.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index 229933736..6aabb9ff5 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -502,10 +502,7 @@ public abstract class ToolBarMenuDock { addPluginManagerAction(menuDef); menuDef.addShortCut(new FunctionManagerAction()); - if (!DesignModeContext.isDuchampMode()) { - menuDef.addShortCut(new GlobalParameterAction()); - } - + menuDef.addShortCut(new GlobalParameterAction()); } From a5710437e5f1479db376ff6b96302a0221be84ee Mon Sep 17 00:00:00 2001 From: "Link.Zhao" Date: Fri, 22 Jul 2022 15:32:30 +0800 Subject: [PATCH 2/6] =?UTF-8?q?REPORT-76403=20=E3=80=90=E8=BF=AD=E4=BB=A3?= =?UTF-8?q?=E3=80=91=E6=9B=B4=E6=96=B0=E6=97=A5=E5=BF=97-=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=86=85=E5=AE=B9=E4=B8=BA=E7=A9=BA=EF=BC=8C=E6=8A=A5?= =?UTF-8?q?=E9=94=99Unparseable=20date:=20"null"=201=E3=80=81=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E4=B8=8B=E6=9B=B4=E6=96=B0=E6=97=A5=E5=BF=97=E7=9A=84?= =?UTF-8?q?=E7=BC=93=E5=AD=98=202=E3=80=81=E6=98=A8=E5=A4=A9=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=88=B0feature=E7=9A=84=EF=BC=8C=E6=B2=A1=E5=90=88?= =?UTF-8?q?=E7=9A=84=EF=BC=8C=E6=8F=90=E4=BA=A4=E5=88=B0release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../update/ui/dialog/UpdateMainDialog.java | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/update/ui/dialog/UpdateMainDialog.java b/designer-base/src/main/java/com/fr/design/update/ui/dialog/UpdateMainDialog.java index bcdb25f95..8e0d39b1c 100644 --- a/designer-base/src/main/java/com/fr/design/update/ui/dialog/UpdateMainDialog.java +++ b/designer-base/src/main/java/com/fr/design/update/ui/dialog/UpdateMainDialog.java @@ -59,7 +59,6 @@ import java.util.*; import java.util.List; import java.util.concurrent.ExecutionException; -import static com.fr.design.dialog.FineJOptionPane.OPTION_OK_CANCEL; import static java.nio.charset.StandardCharsets.*; import static javax.swing.JOptionPane.QUESTION_MESSAGE; @@ -87,7 +86,6 @@ public class UpdateMainDialog extends UIDialog { private static final String HYPHEN = "-"; - private final SimpleDateFormat CHANGELOG_FORMAT = new SimpleDateFormat("M/d/y, h:m:s a", Locale.ENGLISH); private final SimpleDateFormat UPDATELOG_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); private final SimpleDateFormat UPDATE_INFO_TABLE_FORMAT = new SimpleDateFormat("yyyy.MM.dd"); @@ -432,7 +430,7 @@ public class UpdateMainDialog extends UIDialog { } return array; } catch (Exception e) { - FineLoggerFactory.getLogger().error(e.getMessage()); + FineLoggerFactory.getLogger().error(e, e.getMessage()); } return JSONArray.create(); } @@ -449,7 +447,7 @@ public class UpdateMainDialog extends UIDialog { updateCachedInfoFile(jsonArray); } catch (Exception e) { getUpdateInfoSuccess = true; - FineLoggerFactory.getLogger().error(e.getMessage()); + FineLoggerFactory.getLogger().error(e, e.getMessage()); } } }; @@ -463,7 +461,7 @@ public class UpdateMainDialog extends UIDialog { } //从文件中读取缓存的更新信息 - private void getCachedUpdateInfo(String keyword) throws Exception { + private void getCachedUpdateInfo(String keyword) { String cacheInfoPath = getUpdateCacheInfo(); File cacheFile = new File(StableUtils.pathJoin(WorkContext.getCurrent().getPath(), "resources", "offlineres", cacheInfoPath)); if (!ComparatorUtils.equals(lastUpdateCacheState, "success")) { @@ -476,22 +474,26 @@ public class UpdateMainDialog extends UIDialog { String readStr, updateTimeStr; while ((readStr = br.readLine()) != null) { String[] updateInfo = readStr.split("\\t"); - if (updateInfo.length == 2) { - updateTimeStr = updateInfo[0]; - Date updateTime = CHANGELOG_FORMAT.parse(updateTimeStr); + if (updateInfo.length == 3) { + updateTimeStr = updateInfo[UpdateInfoTable.UPDATE_DATE_INDEX]; + Date updateTime = UPDATELOG_FORMAT.parse(updateTimeStr); + //形如 Build#release-2018.07.31.03.03.52.80 String currentNO = GeneralUtils.readBuildNO(); Date curJarDate = UPDATE_INFO_TABLE_FORMAT.parse(currentNO, new ParsePosition(currentNO.indexOf("-") + 1)); if (!ComparatorUtils.equals(keyword, StringUtils.EMPTY)) { - if (!containsKeyword(UPDATE_INFO_TABLE_FORMAT.format(updateTime), keyword) && !containsKeyword(updateInfo[1], keyword)) { + keyword.replace('.','-'); + if (!containsKeyword(UPDATELOG_FORMAT.format(updateTime), keyword) && !containsKeyword(updateInfo[UpdateInfoTable.UPDATE_TITLE_INDEX], keyword)) { continue; } } - if (isValidLogInfo(updateInfo[1]) && curJarDate != null) { - updateInfoList.add(new Object[]{UPDATE_INFO_TABLE_FORMAT.format(updateTime), updateInfo[1], updateTime.after(curJarDate)}); + if (isValidLogInfo(updateInfo[UpdateInfoTable.UPDATE_TITLE_INDEX]) && curJarDate != null) { + updateInfoList.add(new Object[]{UPDATELOG_FORMAT.format(updateTime), updateInfo[UpdateInfoTable.UPDATE_VERSION_INDEX], updateInfo[UpdateInfoTable.UPDATE_TITLE_INDEX], updateTime.after(curJarDate)}); } } } + } catch (Exception e) { + FineLoggerFactory.getLogger().error(e, e.getMessage()); } } } @@ -520,7 +522,7 @@ public class UpdateMainDialog extends UIDialog { try (BufferedWriter bufferWriter = new BufferedWriter(writerStream)) { for (int i = 0; i < jsonArray.length(); i++) { JSONObject jo = (JSONObject) jsonArray.get(i); - bufferWriter.write((String) jo.get("update") + '\t' + jo.get("title")); + bufferWriter.write((String) jo.get("updateTime") + '\t' + jo.get("version") + '\t' + jo.get("jiraId") + " " + jo.get("info")); bufferWriter.newLine(); bufferWriter.flush(); } @@ -545,13 +547,14 @@ public class UpdateMainDialog extends UIDialog { if (curJarDate == null) { curJarDate = updateTime; } - if (!ComparatorUtils.equals(keyword, StringUtils.EMPTY)) { - if (!containsKeyword(UPDATE_INFO_TABLE_FORMAT.format(updateTime), keyword) && !containsKeyword(updateTitle, keyword)) { + if (!ComparatorUtils.equals(keyword, StringUtils.EMPTY) && keyword != null) { + keyword.replace('.', '-'); + if (!containsKeyword(UPDATELOG_FORMAT.format(updateTime), keyword) && !containsKeyword(updateTitle, keyword)) { continue; } } if (isValidLogInfo(updateTitle)) { - updateInfoList.add(new Object[]{UPDATE_INFO_TABLE_FORMAT.format(updateTime), updateVersionStr, updateTitle, updateTime.after(curJarDate)}); + updateInfoList.add(new Object[]{updateTimeStr, updateVersionStr, updateTitle, updateTime.after(curJarDate)}); } } return new ArrayList<>(updateInfoList); From 6aea867c867ff43ba59f4cae4d52c6114bf38739 Mon Sep 17 00:00:00 2001 From: WeiYanglu Date: Sun, 24 Jul 2022 23:33:25 +0800 Subject: [PATCH 3/6] =?UTF-8?q?REPORT-75752=20=E8=A1=A8=E6=A0=BC=E8=BE=85?= =?UTF-8?q?=E5=8A=A9=E7=BA=BF=E7=9A=84=E5=8A=9F=E8=83=BD=E4=BB=8Efrm?= =?UTF-8?q?=E6=89=A9=E5=B1=95=E5=88=B0dashboard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/JDashboard.java | 6 ++++ .../java/com/fr/design/utils/ColorUtils.java | 11 +++++++ .../java/com/fr/design/mainframe/JForm.java | 29 +++++++++++++++---- .../form/FormElementCasePaneDelegate.java | 23 ++------------- .../src/main/java/com/fr/grid/GridUI.java | 16 ++++++---- 5 files changed, 54 insertions(+), 31 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JDashboard.java b/designer-base/src/main/java/com/fr/design/mainframe/JDashboard.java index d2b45f4ea..e4e4e9be9 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JDashboard.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JDashboard.java @@ -1,5 +1,9 @@ package com.fr.design.mainframe; +import com.fr.report.worksheet.FormElementCase; + +import java.awt.Rectangle; + /** * @author Starryi * @version 1.0 @@ -7,4 +11,6 @@ package com.fr.design.mainframe; */ public interface JDashboard { void switchToDashBoardEditor(); + + Rectangle getElementCaseRectangle(FormElementCase elementCase); } diff --git a/designer-base/src/main/java/com/fr/design/utils/ColorUtils.java b/designer-base/src/main/java/com/fr/design/utils/ColorUtils.java index 739d39472..7c0daa111 100644 --- a/designer-base/src/main/java/com/fr/design/utils/ColorUtils.java +++ b/designer-base/src/main/java/com/fr/design/utils/ColorUtils.java @@ -27,4 +27,15 @@ public class ColorUtils { } } } + + public static boolean isDarkColor(Color color) { + if(color == null) { + return false; + } + int red = color.getRed(); + int green = color.getGreen(); + int blue = color.getBlue(); + int greyLevel = (int)(red * 0.299 + green * 0.587 + blue * 0.114); + return greyLevel < 192; + } } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/JForm.java b/designer-form/src/main/java/com/fr/design/mainframe/JForm.java index b58932c8a..a142ee297 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/JForm.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/JForm.java @@ -41,6 +41,7 @@ import com.fr.design.event.TargetModifiedEvent; import com.fr.design.event.TargetModifiedListener; import com.fr.design.file.HistoryTemplateListCache; import com.fr.design.fit.FormFitAttrAction; +import com.fr.design.fit.common.FormDesignerUtil; import com.fr.design.fun.PreviewProvider; import com.fr.design.fun.PropertyItemPaneProvider; import com.fr.design.gui.frpane.HyperlinkGroupPane; @@ -109,12 +110,7 @@ import javax.swing.JComponent; import javax.swing.JPanel; import javax.swing.SwingConstants; import javax.swing.tree.TreePath; -import java.awt.BorderLayout; -import java.awt.CardLayout; -import java.awt.Color; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.Font; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; @@ -1307,4 +1303,25 @@ public class JForm extends JTemplate implements BaseJForm template = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); - if (!(template instanceof JForm)) { - return rectangle; + if (!(template instanceof JDashboard)) { + return new Rectangle(); } - - FormDesigner designer = ((JForm) template).getFormDesign(); - if (designer == null) { - return rectangle; - } - - XElementCase xElementCase = FormDesignerUtil.getXelementCase(designer.getRootComponent(), (FormElementCase) elementCase); - if (xElementCase != null) { - rectangle.setBounds(xElementCase.getBounds()); - - //减去内边距的宽和高 - Insets insets = xElementCase.getInsets(); - rectangle.width -= insets.left + insets.right; - rectangle.height -= insets.top + insets.bottom; - - } - return rectangle; + return ((JDashboard)template).getElementCaseRectangle((FormElementCase)elementCase); } diff --git a/designer-realize/src/main/java/com/fr/grid/GridUI.java b/designer-realize/src/main/java/com/fr/grid/GridUI.java index 6234acc95..7ae22a51f 100644 --- a/designer-realize/src/main/java/com/fr/grid/GridUI.java +++ b/designer-realize/src/main/java/com/fr/grid/GridUI.java @@ -18,6 +18,7 @@ import com.fr.design.mainframe.DesignerUIModeConfig; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.mainframe.JTemplate; import com.fr.design.roleAuthority.ReportAndFSManagePane; +import com.fr.design.utils.ColorUtils; import com.fr.design.utils.gui.AdjustWorkBookDefaultStyleUtils; import com.fr.general.Background; import com.fr.general.ComparatorUtils; @@ -1196,13 +1197,13 @@ public class GridUI extends ComponentUI { } //绘制吸附辅助线 - paintAdsorbLines(g2d, grid); + paintAdsorbLines(g2d, grid, elementCase); grid.ajustEditorComponentBounds(); // refresh size } //绘制吸附辅助线 - private void paintAdsorbLines(Graphics2D g2d, Grid grid) { + private void paintAdsorbLines(Graphics2D g2d, Grid grid, TemplateElementCase elementcase) { int verticalValue = grid.getVerticalValue(); int horizontalValue = grid.getHorizontalValue(); if (grid.getAdsorbWidth() <= 0 || grid.getAdsorbHeight() <= 0) { @@ -1212,13 +1213,18 @@ public class GridUI extends ComponentUI { - columnWidthList.getRangeValue(0, horizontalValue).toPixI(resolution)); int height = (int) (grid.getAdsorbHeight() * (resolution * 1.0D / DesignerUIModeConfig.getInstance().getScreenResolution()) - rowHeightList.getRangeValue(0, verticalValue).toPixI(resolution)); - drawBoundsLine(g2d, width, height); + drawBoundsLine(g2d, width, height, elementcase); } - private void drawBoundsLine(Graphics2D g2d, int width, int height) { + private void drawBoundsLine(Graphics2D g2d, int width, int height, TemplateElementCase elementcase) { Paint oldPaint = g2d.getPaint(); Stroke oldStroke = g2d.getStroke(); - g2d.setPaint(Color.black); + Color backgroundColor = AdjustWorkBookDefaultStyleUtils.adjustBack(Color.WHITE); + if(ColorUtils.isDarkColor(backgroundColor)) { + g2d.setPaint(Color.white); + } else { + g2d.setPaint(Color.black); + } g2d.setStroke(GraphDrawHelper.getStroke(Constants.LINE_DASH_DOT)); g2d.drawLine(0, height, width, height); g2d.drawLine(width, 0, width, height); From db53e128aa55149959a1ea0e077e173519d79930 Mon Sep 17 00:00:00 2001 From: WeiYanglu Date: Mon, 25 Jul 2022 13:33:08 +0800 Subject: [PATCH 4/6] =?UTF-8?q?REPORT-75752=20=E5=85=BC=E5=AE=B9=E4=B8=8B?= =?UTF-8?q?=E6=97=A7=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/form/FormElementCasePaneDelegate.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/form/FormElementCasePaneDelegate.java b/designer-realize/src/main/java/com/fr/design/mainframe/form/FormElementCasePaneDelegate.java index b975a8b19..525b3c0ca 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/form/FormElementCasePaneDelegate.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/form/FormElementCasePaneDelegate.java @@ -76,7 +76,13 @@ public class FormElementCasePaneDelegate extends ElementCasePane Date: Tue, 26 Jul 2022 13:42:01 +0800 Subject: [PATCH 5/6] =?UTF-8?q?REPORT-76259=20=E3=80=90=E8=BF=AD=E4=BB=A3?= =?UTF-8?q?=E3=80=91=E3=80=90=E6=95=B0=E6=8D=AE=E8=BF=9E=E6=8E=A5=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E4=B8=BA=E7=A9=BA=E3=80=91=E6=A6=82=E7=8E=87=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E7=BC=96=E8=BE=91=E6=95=B0=E6=8D=AE=E9=9B=86=E4=B8=80?= =?UTF-8?q?=E7=9B=B4=E5=8A=A0=E8=BD=BD=E4=B8=AD=20=E3=80=90=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E5=8E=9F=E5=9B=A0=E3=80=91=E8=BF=9C=E7=A8=8B=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E4=B8=8B=EF=BC=8C=E6=95=B0=E6=8D=AE=E9=9B=86=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E7=9A=84=E5=88=9D=E5=A7=8B=E5=8C=96=E4=B8=AD=E6=9C=89?= =?UTF-8?q?=E4=B8=A4=E4=B8=AA=E8=80=97=E6=97=B6=E6=93=8D=E4=BD=9C=EF=BC=88?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=A1=86=E5=8F=96=E6=95=B0=E6=8D=AE=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E3=80=81TableViewList=E6=A0=B9=E6=8D=AE=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E6=A1=86=E5=80=BC=E5=8F=96=E8=BF=9E=E6=8E=A5=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E7=9A=84=E6=89=80=E6=9C=89=E8=A1=A8=EF=BC=89=EF=BC=8C?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E4=B8=A4=E4=B8=AASwingWorker=EF=BC=8C?= =?UTF-8?q?=E8=AE=BE=E4=B8=BAA=E5=92=8CB=EF=BC=9B=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E9=9D=A2=E6=9D=BF=E6=9C=AC=E8=BA=AB=E7=9A=84=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E8=BF=87=E7=A8=8B=E4=B9=9F=E5=AF=B9=E5=BA=94=E4=B8=80?= =?UTF-8?q?=E4=B8=AASwingWorker=EF=BC=88=E9=9C=80=E8=A6=81=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=AD=A4=E8=BF=9E=E6=8E=A5=E6=98=AF=E5=90=A6=E6=9C=89?= =?UTF-8?q?=E6=9D=83=E9=99=90=EF=BC=89=EF=BC=8C=E8=AE=BE=E4=B8=BAC?= =?UTF-8?q?=EF=BC=9B=E5=BD=93C=E6=89=A7=E8=A1=8C=E5=AE=8C=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E4=BC=9A=E5=9C=A8done=E6=96=B9=E6=B3=95=E9=87=8C?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E6=95=B0=E6=8D=AE=E9=9B=86=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E7=9A=84setVisible=E6=96=B9=E6=B3=95=E4=BB=A5=E8=AE=A9?= =?UTF-8?q?=E5=AE=83=E5=B1=95=E7=A4=BA=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=AD=A4?= =?UTF-8?q?=E6=97=B6A=E5=92=8CB=E6=89=8D=E6=89=A7=E8=A1=8C=E5=AE=8CdoInbac?= =?UTF-8?q?kground=EF=BC=8C=E5=87=86=E5=A4=87=E6=89=A7=E8=A1=8Cdone?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99(done=E7=9A=84=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E6=98=AFinvokeLater=E7=9A=84)=EF=BC=8CC=E7=9A=84=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E5=85=88=E6=98=BE=E7=A4=BA=E4=BA=86=EF=BC=8C=E4=BC=9A?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E5=AE=83=E4=BB=AC=E7=9A=84done=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E4=BC=9A=E8=A2=AB=E5=B7=B2=E7=BB=8F=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E7=9A=84=E6=A8=A1=E6=80=81dialog=E7=BB=99=E9=98=BB=E5=A1=9E?= =?UTF-8?q?=E4=BD=8F=EF=BC=8C=E4=BB=8E=E8=80=8C=E6=97=A0=E6=B3=95=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E9=9D=A2=E6=9D=BF=E6=95=B0=E6=8D=AE=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=20=E3=80=90=E6=94=B9=E5=8A=A8=E6=80=9D=E8=B7=AF=E3=80=91?= =?UTF-8?q?=E5=B0=86setVisible=E6=96=B9=E6=B3=95=E7=94=A8invokeLater?= =?UTF-8?q?=E5=8C=85=E4=B8=80=E5=B1=82=EF=BC=8C=E8=AE=A9A=E5=92=8CB?= =?UTF-8?q?=E7=9A=84done=E6=96=B9=E6=B3=95=E4=B8=8D=E8=A2=AB=E9=98=BB?= =?UTF-8?q?=E5=A1=9E=20=E3=80=90review=E5=BB=BA=E8=AE=AE=E3=80=91=E6=97=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/datapane/TableDataTreePane.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java index 573b35f79..a66475a3d 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java @@ -402,6 +402,17 @@ public class TableDataTreePane extends BasicTableDataTreePane { */ @Override public void dgEdit(final AbstractTableDataPane tableDataPane, String originalName, boolean isUpdate) { + dgEdit(tableDataPane, originalName, isUpdate, false); + } + + /** + * 编辑面板 + * @param tableDataPane 面板 + * @param originalName 原始名字 + * @param isUpdate + * @param showLater 是否立刻打开面板 + */ + public void dgEdit(final AbstractTableDataPane tableDataPane, String originalName, boolean isUpdate, boolean showLater) { // 编辑时如果正在搜索,跳回原树 if (TableDataTreeSearchManager.getInstance().isInSearchMode()) { TableDataTreeSearchManager.getInstance().outOfSearchMode(); @@ -487,7 +498,15 @@ public class TableDataTreePane extends BasicTableDataTreePane { doPropertyChange(dg, tdNamePanel, oldName); } }); - dg.setVisible(true); + if (showLater) { + // 有些数据集(DBTableData)面板的初始化过程中是包含了SwingWorker处理(查询数据连接、查表等)的 + // 如果这里直接setVisible,可能阻塞SwingWorker的done方法,导致面板渲染出现问题 + SwingUtilities.invokeLater(() -> { + dg.setVisible(true); + }); + } else { + dg.setVisible(true); + } } @Override @@ -1041,7 +1060,7 @@ public class TableDataTreePane extends BasicTableDataTreePane { if (hasAuth) { // 有权限时,关闭Loading面板,打开编辑面板 loadingDialog.setVisible(false); - dgEdit(tableDataPane, dsName, false); + dgEdit(tableDataPane, dsName, false, true); } else { // 无权限时,给出无权限提示 loadingPane.switchTo(TableDataLoadingPane.NO_AUTH_PANE_NAME); From 31c0eb2d15da32f694be1e42d1e99818b763a468 Mon Sep 17 00:00:00 2001 From: Yvan Date: Tue, 26 Jul 2022 14:26:48 +0800 Subject: [PATCH 6/6] =?UTF-8?q?REPORT-76259=20=E3=80=90=E8=BF=AD=E4=BB=A3?= =?UTF-8?q?=E3=80=91=E3=80=90=E6=95=B0=E6=8D=AE=E8=BF=9E=E6=8E=A5=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E4=B8=BA=E7=A9=BA=E3=80=91=E6=A6=82=E7=8E=87=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E7=BC=96=E8=BE=91=E6=95=B0=E6=8D=AE=E9=9B=86=E4=B8=80?= =?UTF-8?q?=E7=9B=B4=E5=8A=A0=E8=BD=BD=E4=B8=AD=20=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E8=AF=84=E5=AE=A1=E6=84=8F=E8=A7=81=E4=BF=AE=E6=94=B9=E4=B8=8B?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E7=89=B9=E5=9C=B0=E5=88=86=E5=87=BA=E4=B8=A4?= =?UTF-8?q?=E4=B8=AA=E6=96=B9=E6=B3=95=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/datapane/TableDataTreePane.java | 25 ++++--------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java index a66475a3d..a7dbce4df 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java @@ -402,17 +402,6 @@ public class TableDataTreePane extends BasicTableDataTreePane { */ @Override public void dgEdit(final AbstractTableDataPane tableDataPane, String originalName, boolean isUpdate) { - dgEdit(tableDataPane, originalName, isUpdate, false); - } - - /** - * 编辑面板 - * @param tableDataPane 面板 - * @param originalName 原始名字 - * @param isUpdate - * @param showLater 是否立刻打开面板 - */ - public void dgEdit(final AbstractTableDataPane tableDataPane, String originalName, boolean isUpdate, boolean showLater) { // 编辑时如果正在搜索,跳回原树 if (TableDataTreeSearchManager.getInstance().isInSearchMode()) { TableDataTreeSearchManager.getInstance().outOfSearchMode(); @@ -498,15 +487,11 @@ public class TableDataTreePane extends BasicTableDataTreePane { doPropertyChange(dg, tdNamePanel, oldName); } }); - if (showLater) { - // 有些数据集(DBTableData)面板的初始化过程中是包含了SwingWorker处理(查询数据连接、查表等)的 - // 如果这里直接setVisible,可能阻塞SwingWorker的done方法,导致面板渲染出现问题 - SwingUtilities.invokeLater(() -> { - dg.setVisible(true); - }); - } else { + // 有些数据集(DBTableData)面板的初始化过程中是包含了SwingWorker处理(查询数据连接、查表等)的 + // 如果这里直接setVisible,可能阻塞SwingWorker的done方法,导致面板渲染出现问题 + SwingUtilities.invokeLater(() -> { dg.setVisible(true); - } + }); } @Override @@ -1060,7 +1045,7 @@ public class TableDataTreePane extends BasicTableDataTreePane { if (hasAuth) { // 有权限时,关闭Loading面板,打开编辑面板 loadingDialog.setVisible(false); - dgEdit(tableDataPane, dsName, false, true); + dgEdit(tableDataPane, dsName, false); } else { // 无权限时,给出无权限提示 loadingPane.switchTo(TableDataLoadingPane.NO_AUTH_PANE_NAME);