From cfa635fd77f163e8d89db96d8823ef454b8d56f6 Mon Sep 17 00:00:00 2001 From: lidongy <1879087903@qq.com> Date: Fri, 7 Feb 2025 17:48:36 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-147166=20linux=E4=B8=8B=EF=BC=8C?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=B1=9E=E6=80=A7-=E8=B6=85=E9=93=BE?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=20=E6=89=93=E5=BC=80=E4=B9=8B=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E8=AE=BE=E7=BD=AE=E8=B6=85=E9=93=BE=E7=9A=84=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E6=97=A0=E6=B3=95=E8=81=9A=E7=84=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/gui/controlpane/UIControlPane.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java index 12f904922d..e41af8404f 100644 --- a/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java @@ -100,7 +100,7 @@ public abstract class UIControlPane extends JControlPane { this.checkButtonEnabled(); } - protected Window getPopupEditDialog(){ + protected Window getPopupEditDialog() { return this.popupEditDialog; } @@ -241,6 +241,11 @@ public abstract class UIControlPane extends JControlPane { private void hideDialog() { if (needToHidePopupEditDialog()) { + //在Linux上拉回焦点,不然导致一些面板关不掉 + if (OperatingSystem.isLinux()) { + requestFocus(); + } + saveSettings(); setVisible(false); PopupDialogSaveAction saveAction = OSSupportCenter.getAction(PopupDialogSaveAction.class); @@ -252,10 +257,6 @@ public abstract class UIControlPane extends JControlPane { addWindowFocusListener(new WindowAdapter() { @Override public void windowLostFocus(WindowEvent e) { - //在Linux上拉回焦点,不然导致一些面板关不掉 - if(OperatingSystem.isLinux()) { - requestFocus(); - } hideDialog(); } }); @@ -263,8 +264,8 @@ public abstract class UIControlPane extends JControlPane { } /** - * 是否需要隐藏popupEditDialog - */ + * 是否需要隐藏popupEditDialog + */ protected boolean needToHidePopupEditDialog() { // 检查是否有子弹窗,如果有,则不隐藏 for (Window window : popupEditDialog.getOwnedWindows()) {