Browse Source

REPORT-87060 Swing界面操作在Swing线程避免线程卡死

newui
WeiYanglu 2 years ago
parent
commit
6f7c26a886
  1. 17
      designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java

17
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 com.fr.stable.xml.XMLPrintWriter;
import javax.swing.JFrame; import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
@ -649,13 +650,15 @@ public abstract class DesignTableDataManager {
} }
private static void showParaWindow(final Map<String, Object> parameterMap, ParameterProvider[] inParameters) { private static void showParaWindow(final Map<String, Object> parameterMap, ParameterProvider[] inParameters) {
final ParameterInputPane pPane = new ParameterInputPane(inParameters); SwingUtilities.invokeLater(() -> {
pPane.showSmallWindow(new JFrame(), new DialogActionAdapter() { final ParameterInputPane pPane = new ParameterInputPane(inParameters);
@Override pPane.showSmallWindow(new JFrame(), new DialogActionAdapter() {
public void doOk() { @Override
parameterMap.putAll(pPane.update()); public void doOk() {
} parameterMap.putAll(pPane.update());
}).setVisible(true); }
}).setVisible(true);
});
} }
public static void setThreadLocal(String value) { public static void setThreadLocal(String value) {

Loading…
Cancel
Save