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 f5f2a51..40fd251 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 @@ -24,7 +24,7 @@ public class RenameFile implements EventHandler { public void handle(ActionEvent actionEvent) { // 获取当前标签页 JNotepadTab jnotepadtab = UiUtil.getJnotepadtab(); - if (jnotepadtab == null) { + if (jnotepadtab == null || jnotepadtab.getText().isEmpty()) { return; } // 判断当前是否为关联文件 @@ -58,8 +58,7 @@ public class RenameFile implements EventHandler { // 如果当前不是关联文件则重命名标签页 else { TextField textField = new TextField(jnotepadtab.getText()); - // 设置文本框尺寸 - textField.setPrefSize(120, 12); + textField.getStyleClass().add("tab-title-editable"); // 清空标签页名称 jnotepadtab.setText(""); // 监听 Enter 键,完成编辑 @@ -85,6 +84,9 @@ public class RenameFile implements EventHandler { jnotepadtab.setClosable(false); // 设置 TextField 作为标签页的图形 jnotepadtab.setGraphic(textField); + // 默认获取焦点并选中所有文字 + textField.requestFocus(); + textField.selectAll(); } } diff --git a/src/main/resources/css/styles.css b/src/main/resources/css/styles.css index 695b475..de852e7 100644 --- a/src/main/resources/css/styles.css +++ b/src/main/resources/css/styles.css @@ -24,4 +24,13 @@ .main-text-area { -fx-border-color: white; -fx-background-color: white; +} + +/* tab修改标签样式 */ +.tab-title-editable { + -fx-fx-border-width: 0; + -fx-max-width: 80px; + -fx-max-height: 20px; + -fx-font-size: 14px; + -fx-padding: 2px 2px 2px 2px; } \ No newline at end of file