diff --git a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java index 2ce2a7d82..91c208047 100644 --- a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java +++ b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java @@ -41,6 +41,7 @@ import com.fr.stable.StringUtils; import com.fr.stable.xml.XMLPrintWriter; import javax.swing.JFrame; +import javax.swing.SwingUtilities; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.io.ByteArrayOutputStream; @@ -649,13 +650,15 @@ public abstract class DesignTableDataManager { } private static void showParaWindow(final Map parameterMap, ParameterProvider[] inParameters) { - final ParameterInputPane pPane = new ParameterInputPane(inParameters); - pPane.showSmallWindow(new JFrame(), new DialogActionAdapter() { - @Override - public void doOk() { - parameterMap.putAll(pPane.update()); - } - }).setVisible(true); + SwingUtilities.invokeLater(() -> { + final ParameterInputPane pPane = new ParameterInputPane(inParameters); + pPane.showSmallWindow(new JFrame(), new DialogActionAdapter() { + @Override + public void doOk() { + parameterMap.putAll(pPane.update()); + } + }).setVisible(true); + }); } public static void setThreadLocal(String value) {