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 a83800aec4..89c928e2c4 100644 --- a/designer-base/src/main/java/com/fr/start/BaseDesigner.java +++ b/designer-base/src/main/java/com/fr/start/BaseDesigner.java @@ -130,6 +130,7 @@ public abstract class BaseDesigner extends ToolBarMenuDock { DesignerFrame df = DesignerContext.getDesignerFrame(); isException = openFile(df, isException, file); df.fireDesignerOpened(); + FineLoggerFactory.getLogger().debug("show designer cost {} ms", DesignerStartupContext.getRecorder().getTime()); } catch (Exception e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); if (!isException) { diff --git a/designer-base/src/main/java/com/fr/startup/ui/StartupPageModel.java b/designer-base/src/main/java/com/fr/startup/ui/StartupPageModel.java index 84304cc131..4b82545a01 100644 --- a/designer-base/src/main/java/com/fr/startup/ui/StartupPageModel.java +++ b/designer-base/src/main/java/com/fr/startup/ui/StartupPageModel.java @@ -2,7 +2,9 @@ package com.fr.startup.ui; import com.fr.design.DesignerEnvManager; import com.fr.design.env.DesignerWorkspaceInfo; +import com.fr.design.env.DesignerWorkspaceType; import com.fr.third.guava.collect.Lists; +import com.fr.workspace.connect.WorkspaceConnectionInfo; import java.util.ArrayList; import java.util.HashMap; @@ -36,7 +38,12 @@ public class StartupPageModel { .stream() .map((e) -> { DesignerWorkspaceInfo workspaceInfo = envManager.getWorkspaceInfo(e); - return new StartupWorkspaceBean(e, workspaceInfo.getPath(), workspaceInfo.getType()); + if (workspaceInfo.getType() == DesignerWorkspaceType.Remote) { + WorkspaceConnectionInfo connection = workspaceInfo.getConnection(); + return new StartupWorkspaceBean(e, connection.getUrl(), workspaceInfo.getType()); + } else { + return new StartupWorkspaceBean(e, workspaceInfo.getPath(), workspaceInfo.getType()); + } }) .collect(Collectors.toList()); Map> recentFileMap = new HashMap<>(); diff --git a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java index 4c7135d4ae..fefe6e8eca 100644 --- a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java +++ b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java @@ -214,7 +214,7 @@ public class StartupPageWindow extends JFrame { } }; recentOpenPanel.setLayout(new BorderLayout()); - recentOpenPanel.setBorder(BorderFactory.createEmptyBorder(25, 25, 25, 25)); + recentOpenPanel.setBorder(BorderFactory.createEmptyBorder(25, 25, 25, 6)); StartupWorkspaceBean workspaceInfo = pageModel.getSelectWorkspaceInfo(); JPanel workspaceWrapperYPanel = new JPanel(); diff --git a/designer-realize/src/main/java/com/fr/start/module/optimized/DesignerStartupPageActivator.java b/designer-realize/src/main/java/com/fr/start/module/optimized/DesignerStartupPageActivator.java index b639233e57..12e1e1f7c0 100644 --- a/designer-realize/src/main/java/com/fr/start/module/optimized/DesignerStartupPageActivator.java +++ b/designer-realize/src/main/java/com/fr/start/module/optimized/DesignerStartupPageActivator.java @@ -103,10 +103,13 @@ public class DesignerStartupPageActivator extends Activator { DesignerStartupContext.getInstance().setOnStartup(true); DesignerStartupPageUtil.enterWorkspace(); } finally { - DesignerStartupContext.getInstance().setOnStartup(false); + UIUtil.invokeLaterIfNeeded(() -> { + // 换到 awt 线程中关闭,不然异步会出现问题。 + DesignerStartupContext.getInstance().setOnStartup(false); + }); } - FineLoggerFactory.getLogger().debug("designer-startup-page started cost {} ms", stopWatch.getTime(TimeUnit.MILLISECONDS)); + FineLoggerFactory.getLogger().debug("designer-startup-page started cost {} ms", DesignerStartupContext.getRecorder().getTime(TimeUnit.MILLISECONDS)); } @Override