From 1e752c3ba9db7028a2291904f0231a966d4e2766 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E8=BD=B2?= Date: Sat, 9 Sep 2023 01:16:03 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E9=87=8D=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E5=90=8C=E6=A0=B7=E7=9A=84=E6=96=87=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E6=8F=90=E7=A4=BA=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/handler/menubar/RenameFile.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menubar/RenameFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menubar/RenameFile.java index bcc9c8e..38a4e64 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menubar/RenameFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menubar/RenameFile.java @@ -62,11 +62,15 @@ public class RenameFile implements EventHandler { textField.setOnKeyPressed(event -> { if (event.getCode() == KeyCode.ENTER) { String newTabName = textField.getText(); - // 检查是否存在相同名称的标签页 if (isTabNameExists(newTabName)) { + // 显示弹窗并提示用户更换名称 showDuplicateNameAlert(newTabName); + + // 恢复原始名称 + centerTab.setText(centerTab.getUserData().toString()); + } else { centerTab.setText(newTabName); // 可选:移除 TextField 的图形 @@ -79,8 +83,14 @@ public class RenameFile implements EventHandler { // 监听失去焦点事件,完成编辑 textField.focusedProperty().addListener((observable, oldValue, newValue) -> { + String newTabName = textField.getText(); + // 检查是否存在相同名称的标签页 + if (isTabNameExists(newTabName)) { + // 恢复原始名称 + centerTab.setText(centerTab.getUserData().toString()); + + } if (Boolean.FALSE.equals(newValue)) { - String newTabName = textField.getText(); centerTab.setText(newTabName); // 可选:移除 TextField 的图形 centerTab.setGraphic(null); -- Gitee