From 4aa48923e881ee99cd3b3a2dbd88c9078b7b27d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E8=BD=B2?= Date: Fri, 11 Aug 2023 04:17:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=80=A7=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jcnc/jnotepad/controller/Controller.java | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/jcnc/jnotepad/controller/Controller.java b/src/main/java/org/jcnc/jnotepad/controller/Controller.java index 0c9036d..705176d 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/Controller.java +++ b/src/main/java/org/jcnc/jnotepad/controller/Controller.java @@ -79,11 +79,11 @@ public class Controller { }; openFileTask.setOnSucceeded(e -> { - // 在任务完成后的操作(更新界面等) + // 在需要时处理成功 }); openFileTask.setOnFailed(e -> { - // 在任务失败时的操作(处理异常等) + // 在需要时处理失败 }); Thread thread = new Thread(openFileTask); @@ -94,19 +94,15 @@ public class Controller { // 自动保存方法 public static void autoSave(TextArea textArea) { - // 当文本编辑区内容发生变化时,自动保存文本到文件 textArea.textProperty().addListener((observable, oldValue, newValue) -> { Tab tab = tabPane.getSelectionModel().getSelectedItem(); if (tab != null) { File f = (File) tab.getUserData(); if (f != null) { - try { - BufferedWriter writer = new BufferedWriter(new FileWriter(f)); - writer.write(newValue); // 写入新的文本内容 - writer.flush(); - writer.close(); + try (BufferedWriter writer = new BufferedWriter(new FileWriter(f))) { + writer.write(newValue); } catch (IOException ignored) { - // 处理异常,忽略 + // 适当地处理异常 } } } @@ -203,7 +199,6 @@ public class Controller { Platform.runLater(() -> { textArea.setText(text); - autoSave(textArea); Tab tab = new Tab(file.getName()); tab.setContent(textArea); @@ -212,9 +207,11 @@ public class Controller { tabPane.getTabs().add(tab); tabPane.getSelectionModel().select(tab); updateStatusLabel(textArea); + + autoSave(textArea); // 在更新界面后调用 autoSave }); } catch (IOException ignored) { - // 处理异常,忽略 + // 适当地处理异常 } }