From 696b9bd7ef8a9ae52f9fb2c0cdd8f9388dcd9e38 Mon Sep 17 00:00:00 2001 From: Glavo Date: Sat, 8 Mar 2025 08:47:19 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20#3694:=20=E6=98=BE=E7=A4=BA=E5=AF=B9?= =?UTF-8?q?=E8=AF=9D=E6=A1=86=E6=97=B6=E9=9A=90=E8=97=8F=E7=84=A6=E7=82=B9?= =?UTF-8?q?=20(#3717)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/decorator/DecoratorController.java | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorController.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorController.java index 19ece8f6e..b1a1fb3dd 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorController.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorController.java @@ -397,21 +397,22 @@ public class DecoratorController { node.getProperties().put(PROPERTY_DIALOG_CLOSE_HANDLER, handler); node.addEventHandler(DialogCloseEvent.CLOSE, handler); - if (node instanceof DialogAware) { - DialogAware dialogAware = (DialogAware) node; - if (dialog.isVisible()) { - dialogAware.onDialogShown(); - } else { - dialog.visibleProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { - if (newValue) { - dialogAware.onDialogShown(); - observable.removeListener(this); - } + if (dialog.isVisible()) { + dialog.requestFocus(); + if (node instanceof DialogAware) + ((DialogAware) node).onDialogShown(); + } else { + dialog.visibleProperty().addListener(new ChangeListener() { + @Override + public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { + if (newValue) { + dialog.requestFocus(); + if (node instanceof DialogAware) + ((DialogAware) node).onDialogShown(); + observable.removeListener(this); } - }); - } + } + }); } }