diff --git a/designer-base/src/main/java/com/fr/design/carton/EventDispatchThreadHangMonitor.java b/designer-base/src/main/java/com/fr/design/carton/EventDispatchThreadHangMonitor.java index 56ccaa2c4..a7bf03b40 100644 --- a/designer-base/src/main/java/com/fr/design/carton/EventDispatchThreadHangMonitor.java +++ b/designer-base/src/main/java/com/fr/design/carton/EventDispatchThreadHangMonitor.java @@ -1,6 +1,7 @@ package com.fr.design.carton; import com.fr.concurrent.FineExecutors; +import com.fr.design.ui.util.UIUtil; import com.fr.json.JSONObject; import com.fr.log.FineLoggerFactory; import com.fr.stable.ArrayUtils; @@ -314,7 +315,7 @@ public final class EventDispatchThreadHangMonitor extends EventQueue { * 将swing中默认的EventQueue换成自己的 */ public static void initMonitoring() { - Toolkit.getDefaultToolkit().getSystemEventQueue().push(INSTANCE); + UIUtil.invokeLaterIfNeeded(() -> Toolkit.getDefaultToolkit().getSystemEventQueue().push(INSTANCE)); } /** diff --git a/designer-base/src/main/java/com/fr/design/extra/PluginUtils.java b/designer-base/src/main/java/com/fr/design/extra/PluginUtils.java index 521821ead..f12f8f844 100644 --- a/designer-base/src/main/java/com/fr/design/extra/PluginUtils.java +++ b/designer-base/src/main/java/com/fr/design/extra/PluginUtils.java @@ -10,8 +10,8 @@ import com.fr.json.JSONObject; import com.fr.log.FineLoggerFactory; import com.fr.plugin.PluginVerifyException; import com.fr.plugin.basic.version.Version; -import com.fr.plugin.basic.version.VersionIntervalType; import com.fr.plugin.basic.version.VersionIntervalFactory; +import com.fr.plugin.basic.version.VersionIntervalType; import com.fr.plugin.context.PluginContext; import com.fr.plugin.context.PluginMarker; import com.fr.plugin.error.PluginBaseErrorCode; @@ -23,7 +23,7 @@ import com.fr.stable.ProductConstants; import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; -import javax.swing.*; +import javax.swing.JOptionPane; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -47,9 +47,10 @@ public class PluginUtils { public static PluginMarker createPluginMarker(String pluginInfo) { - //todo 判空 - String[] plugin = pluginInfo.split("_"); - return PluginMarker.create(plugin[0], plugin[1]); + int splitIndex = pluginInfo.lastIndexOf("_"); + String pluginID = pluginInfo.substring(0, splitIndex); + String version = pluginInfo.substring(splitIndex + 1); + return PluginMarker.create(pluginID, version); } public static JSONObject getLatestPluginInfo(String pluginID) throws Exception { diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JNullTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JNullTemplate.java index d10df810a..656344b18 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JNullTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JNullTemplate.java @@ -204,4 +204,14 @@ public class JNullTemplate extends JTemplate { public int getToolBarHeight() { return 0; } + + @Override + public String getPath() { + return null; + } + + @Override + public void refreshToolArea() { + DesignerContext.getDesignerFrame().resetToolkitByPlus(this); + } }