From 757a0e233b638f904b42b260afbf9a18f85a6ddf Mon Sep 17 00:00:00 2001 From: songdragon Date: Wed, 30 Aug 2023 22:59:03 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=B0=81=E8=A3=85=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E4=B8=BA=E6=8C=87=E5=AE=9A=E6=96=87=E4=BB=B6=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/handler/menuBar/SaveFile.java | 4 +--- .../jnotepad/ui/root/center/tab/JNotepadTab.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveFile.java index 3eee73a..f33022f 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menuBar/SaveFile.java @@ -75,9 +75,7 @@ public class SaveFile implements EventHandler { File file = fileChooser.showSaveDialog(UiUtil.getAppWindow()); if (file != null) { LogUtil.getLogger(currentClass).info("正在保存文件:{}", file.getName()); - // 将文件对象保存到Tab页的UserData中,tab的save方法调用时会用到 - selectedTab.setUserData(file); - selectedTab.save(); + selectedTab.save(file); // 将保存后的文件设置为已关联 selectedTab.setRelevance(true); // 更新Tab页标签上的文件名 diff --git a/src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTab.java b/src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTab.java index d5edb7a..700be3a 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTab.java +++ b/src/main/java/org/jcnc/jnotepad/ui/root/center/tab/JNotepadTab.java @@ -4,6 +4,7 @@ import javafx.scene.control.Tab; import org.jcnc.jnotepad.controller.config.AppConfigController; import org.jcnc.jnotepad.ui.module.LineNumberTextArea; +import java.io.File; import java.nio.charset.Charset; /** @@ -70,7 +71,22 @@ public class JNotepadTab extends Tab { this.charset = charset; } + /** + * 保存文件内容 + */ public void save() { this.lineNumberTextArea.save(); } + + /** + * 保存为指定文件 + * @param file 新文件 + */ + public void save(File file) { + if (file == null) { + return; + } + this.setUserData(file); + save(); + } }