diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormSelectionUtils.java b/designer-form/src/main/java/com/fr/design/mainframe/FormSelectionUtils.java index b3b07efd7..c310ee578 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormSelectionUtils.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormSelectionUtils.java @@ -94,6 +94,7 @@ public class FormSelectionUtils { designer.getSelectionModel().getSelection().reset(); Rectangle rec = clipboard.getSelctionBounds(); + boolean addSuccess = false; for (XCreator creator : clipboard.getSelectedCreators()) { try { XCreator copiedCreator = copyXcreator(designer.getTarget(), creator); @@ -107,7 +108,7 @@ public class FormSelectionUtils { return; } resetTabSub2RealSize(copiedCreator); - boolean addSuccess = adapter.addBean(copiedCreator, point.x, point.y); + addSuccess = adapter.addBean(copiedCreator, point.x, point.y); if (addSuccess) { designer.getSelectionModel().getSelection().addSelectedCreator(copiedCreator); } @@ -115,7 +116,9 @@ public class FormSelectionUtils { FineLoggerFactory.getLogger().error(e.getMessage(), e); } } - rebuildSelection(designer); + if (!addSuccess) { + rebuildSelection(designer); + } designer.getEditListenerTable().fireCreatorModified( designer.getSelectionModel().getSelection().getSelectedCreator(), DesignerEvent.CREATOR_PASTED);