From 6bd259992af8af53f7b34e7fcf9a5b6a07c6b9ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E8=BD=B2?= Date: Tue, 15 Aug 2023 12:40:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E6=95=88=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jcnc/jnotepad/Interface/ControllerInterface.java | 2 +- src/main/java/org/jcnc/jnotepad/LunchApp.java | 10 +--------- .../jnotepad/controller/event/handler/SaveAsFile.java | 2 -- .../jcnc/jnotepad/controller/manager/Controller.java | 10 ++++++++++ .../java/org/jcnc/jnotepad/tool/EncodingDetector.java | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/jcnc/jnotepad/Interface/ControllerInterface.java b/src/main/java/org/jcnc/jnotepad/Interface/ControllerInterface.java index ab121af..4d9c808 100644 --- a/src/main/java/org/jcnc/jnotepad/Interface/ControllerInterface.java +++ b/src/main/java/org/jcnc/jnotepad/Interface/ControllerInterface.java @@ -9,7 +9,6 @@ import java.util.List; /** * 控制器接口类 - * */ public interface ControllerInterface { @@ -110,4 +109,5 @@ public interface ControllerInterface { */ void initTabPane(); + void updateUIWithNewTextArea(TextArea textArea); } diff --git a/src/main/java/org/jcnc/jnotepad/LunchApp.java b/src/main/java/org/jcnc/jnotepad/LunchApp.java index 36aa0cf..48996af 100644 --- a/src/main/java/org/jcnc/jnotepad/LunchApp.java +++ b/src/main/java/org/jcnc/jnotepad/LunchApp.java @@ -57,20 +57,12 @@ public class LunchApp extends Application { threadPool.execute(() -> { TextArea textArea = controller.openAssociatedFileAndCreateTextArea(rawParameters); if (!Objects.isNull(textArea)) { - Platform.runLater(() -> updateUIWithNewTextArea(textArea)); + Platform.runLater(() -> controller.updateUIWithNewTextArea(textArea)); } }); } } - private void updateUIWithNewTextArea(TextArea textArea) { - Tab tab = new Tab("新建文件 " + (++ViewManager.tabIndex)); - tab.setContent(textArea); - ViewManager.tabPane.getTabs().add(tab); - ViewManager.tabPane.getSelectionModel().select(tab); - controller.updateStatusLabel(textArea); - } - @Override public void stop() { // 关闭线程池 diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/SaveAsFile.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/SaveAsFile.java index bbee50b..712865f 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/SaveAsFile.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/SaveAsFile.java @@ -30,7 +30,6 @@ public class SaveAsFile implements EventHandler { */ @Override public void handle(ActionEvent event) { - Controller controller = new Controller(); Tab selectedTab = tabPane.getSelectionModel().getSelectedItem(); if (selectedTab != null) { FileChooser fileChooser = new FileChooser(); @@ -41,7 +40,6 @@ public class SaveAsFile implements EventHandler { try { BufferedWriter writer = new BufferedWriter(new FileWriter(file)); TextArea textArea = (TextArea) selectedTab.getContent(); // 获取当前Tab页的文本编辑区 - controller.autoSave(textArea);// 自动保存 String text = textArea.getText(); writer.write(text); // 写入文件内容 writer.flush(); diff --git a/src/main/java/org/jcnc/jnotepad/controller/manager/Controller.java b/src/main/java/org/jcnc/jnotepad/controller/manager/Controller.java index 3dc08dd..e1945d9 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/manager/Controller.java +++ b/src/main/java/org/jcnc/jnotepad/controller/manager/Controller.java @@ -89,6 +89,7 @@ public class Controller implements ControllerInterface { if (file != null) { try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) { writer.write(newValue); + System.out.println("正在自动保存---"); } catch (IOException ignored) { } @@ -234,6 +235,15 @@ public class Controller implements ControllerInterface { }); } + @Override + public void updateUIWithNewTextArea(TextArea textArea) { + Tab tab = new Tab("新建文件 " + (++ViewManager.tabIndex)); + tab.setContent(textArea); + ViewManager.tabPane.getTabs().add(tab); + ViewManager.tabPane.getSelectionModel().select(tab); + updateStatusLabel(textArea); + } + /** * 配置文本区域。 * diff --git a/src/main/java/org/jcnc/jnotepad/tool/EncodingDetector.java b/src/main/java/org/jcnc/jnotepad/tool/EncodingDetector.java index 7f42157..4dc32f3 100644 --- a/src/main/java/org/jcnc/jnotepad/tool/EncodingDetector.java +++ b/src/main/java/org/jcnc/jnotepad/tool/EncodingDetector.java @@ -32,7 +32,7 @@ public class EncodingDetector { // 尝试常见的编码 for (Charset charset : commonCharsets()) { if (isValidEncoding(text, charset)) { - System.out.println(isValidEncoding(text, charset)); + System.out.println("编码监测结果:" + isValidEncoding(text, charset)); return charset.name(); } }