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 56ccaa2c48..a7bf03b407 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/data/datapane/connect/ConnectionListPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java index c38c27811f..23c22144b5 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java @@ -209,7 +209,7 @@ public class ConnectionListPane extends JListControlPane implements ConnectionSh * @return */ private boolean needUpdate0(Connection origin, Connection connection) { - return !connection.equals(origin) || !isEmbedConnection(connection); + return !connection.equals(origin) || !isEmbedConnection(connection); } /** @@ -257,12 +257,21 @@ public class ConnectionListPane extends JListControlPane implements ConnectionSh } private boolean saveByOldWay(List removedConnNames, List addedOrUpdatedConnections) { + final int remaining = ConnectionConfig.getInstance().getRemainingCon(removedConnNames.size(), addedOrUpdatedConnections.size()); try { return Configurations.modify(new WorkerFacade(ConnectionConfig.class) { @Override public void run() { removedConnNames.forEach(n -> ConnectionConfig.getInstance().removeConnection(n)); - addedOrUpdatedConnections.forEach(cb -> ConnectionConfig.getInstance().addConnection(cb.getName(), cb.getConnection())); + int innerRemaining = remaining; + for (ConnectionBean cb : addedOrUpdatedConnections) { + if (innerRemaining > 0) { + ConnectionConfig.getInstance().addConnectionWithoutCheck(cb.getName(), cb.getConnection()); + innerRemaining--; + } else { + break; + } + } } }); } catch (Exception e) { 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 d10df810a2..e4eb797404 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,9 @@ public class JNullTemplate extends JTemplate { public int getToolBarHeight() { return 0; } + + @Override + public String getPath() { + return null; + } } diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/table/SeriesNameUseFieldNamePane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/table/SeriesNameUseFieldNamePane.java index 65031b1408..ec63cda9b9 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/table/SeriesNameUseFieldNamePane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/table/SeriesNameUseFieldNamePane.java @@ -161,7 +161,9 @@ public class SeriesNameUseFieldNamePane extends FurtherBasicBeanPane