From a77b2a4654ddfd59b78cec47340eb563d6335d6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E8=BD=B2?= Date: Tue, 8 Aug 2023 22:00:33 +0800 Subject: [PATCH] =?UTF-8?q?v1.1.3=20=E5=A2=9E=E5=8A=A0=E5=AE=9E=E6=97=B6?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/org/jcnc/jnotepad/JNotepad.java | 36 +++++++++++++++++++ 打包.txt | 4 +-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jcnc/jnotepad/JNotepad.java b/src/main/java/org/jcnc/jnotepad/JNotepad.java index 5c702d4..8ad851a 100644 --- a/src/main/java/org/jcnc/jnotepad/JNotepad.java +++ b/src/main/java/org/jcnc/jnotepad/JNotepad.java @@ -66,6 +66,22 @@ public class JNotepad extends Application { BorderPane.setMargin(statusLabel, new Insets(5, 10, 5, 10)); TextArea textArea = new TextArea(); // 创建新的文本编辑区 + textArea.textProperty().addListener((observable, oldValue, newValue) -> { + Tab tab = tabPane.getSelectionModel().getSelectedItem(); + if (tab != null) { + File file = (File) tab.getUserData(); + if (file != null) { + try { + BufferedWriter writer = new BufferedWriter(new FileWriter(file)); + writer.write(newValue); // 写入新的文本内容 + writer.flush(); + writer.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + }); Tab tab = new Tab("新建文件 " + ++tabIndex); // 创建新的Tab页 tab.setContent(textArea); tabPane.getTabs().add(tab); @@ -112,9 +128,29 @@ public class JNotepad extends Application { String text = textBuilder.toString(); TextArea textArea = new TextArea(text); // 创建新的文本编辑区 + + // 在创建文本编辑区后添加文本变更监听器 + 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(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + }); Tab tab = new Tab(file.getName()); // 创建新的Tab页 + tab.setContent(textArea); tab.setUserData(file); // 将文件对象保存到Tab页的UserData中 + tabPane.getTabs().add(tab); tabPane.getSelectionModel().select(tab); updateStatusLabel(textArea); diff --git a/打包.txt b/打包.txt index 227b190..c53b135 100644 --- a/打包.txt +++ b/打包.txt @@ -4,5 +4,5 @@ jpackage ` -m org.jcnc.jnotepad/org.jcnc.jnotepad.JNotepad ` --runtime-image .\target\JNotepad\ ` --icon src/main/resources/img/icon.ico ` - --app-version 1.1.2 ` - --vendor "JCNC" ` + --app-version 1.1.3 ` + --vendor "JCNC"