refactor: 封装保存为指定文件方法

This commit is contained in:
songdragon 2023-08-30 22:59:03 +08:00
parent 10181fb0d1
commit 757a0e233b
2 changed files with 17 additions and 3 deletions

View File

@ -75,9 +75,7 @@ public class SaveFile implements EventHandler<ActionEvent> {
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页标签上的文件名

View File

@ -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();
}
}