diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index 7977b8202..6fa6309cd 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -114,6 +114,8 @@ import java.awt.Dimension; import java.awt.FontMetrics; import java.io.ByteArrayOutputStream; import java.nio.file.Paths; +import java.util.Arrays; +import java.util.List; import java.util.Set; import java.util.concurrent.Callable; @@ -1146,6 +1148,10 @@ public abstract class JTemplate> * @param l 模板Listener */ public void addJTemplateActionListener(JTemplateActionListener l) { + List list = Arrays.asList(this.listenerList.getListeners(JTemplateActionListener.class)); + if (list.contains(l)) { + this.listenerList.remove(JTemplateActionListener.class, l); + } this.listenerList.add(JTemplateActionListener.class, l); }