From 74d7f9cd4d02913b8885b2da6df5acf5c7207077 Mon Sep 17 00:00:00 2001 From: Hoky <303455184@qq.com> Date: Thu, 23 Dec 2021 14:38:20 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-64601=20=E5=85=AC=E5=BC=8F=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E5=99=A8=E9=A6=96=E6=AC=A1=E8=BF=9B=E5=85=A5=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=E5=85=89=E6=A0=87=E4=BD=8D=E7=BD=AE=E4=B8=8D?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=201.=E5=8A=A0=E8=BD=BD=E5=AE=8C=E5=85=AC?= =?UTF-8?q?=E5=BC=8F=E7=BC=96=E8=BE=91=E5=99=A8=E5=90=8E=E5=BC=82=E6=AD=A5?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E4=B8=80=E4=B8=8B=E5=85=89=E6=A0=87=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/formula/FormulaPane.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/formula/FormulaPane.java b/designer-base/src/main/java/com/fr/design/formula/FormulaPane.java index 27018e6e0..5b4842cfe 100644 --- a/designer-base/src/main/java/com/fr/design/formula/FormulaPane.java +++ b/designer-base/src/main/java/com/fr/design/formula/FormulaPane.java @@ -7,6 +7,7 @@ import com.fr.base.ParameterMapNameSpace; import com.fr.base.TableDataNameSpace; import com.fr.base.Utils; import com.fr.base.io.IOFile; +import com.fr.concurrent.NamedThreadFactory; import com.fr.data.TableDataSource; import com.fr.design.actions.UpdateAction; import com.fr.design.border.UIRoundedBorder; @@ -115,6 +116,8 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; /** * 公式编辑面板 @@ -151,6 +154,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula { private FormulaPaneAutoCompletion autoCompletion; private DefaultCompletionProvider completionProvider; private static final Map PARAM_PREFIX_MAP = new HashMap<>(); + private ExecutorService executorService = Executors.newCachedThreadPool(new NamedThreadFactory("formula-pane-refocus")); public FormulaPane() { initComponents(); @@ -290,6 +294,19 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula { initTextPane(); initTipsPane(); initVariableTreeAndDescriptionArea(); + refocusInWindow(); + } + + private void refocusInWindow() { + executorService.execute(() -> { + try { + Thread.sleep(100); + formulaTextArea.requestFocusInWindow(); + } catch (Exception e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } + }); + executorService.shutdown(); } private void initVariableTreeAndDescriptionArea() {