From ab947ce1634b06849c7a94ae61f41621968175cf Mon Sep 17 00:00:00 2001 From: gewuyou <1063891901@qq.com> Date: Mon, 2 Oct 2023 22:24:15 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A9=20=E6=B7=BB=E5=8A=A0=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=89=93=E5=BC=80=E4=B8=8A=E6=AC=A1=E6=89=93=E5=BC=80?= =?UTF-8?q?=E7=9A=84=E6=96=87=E4=BB=B6=E5=A4=B9=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/event/handler/menubar/OpenDirectory.java | 7 ++++--- .../jnotepad/views/manager/DirectorySidebarManager.java | 7 +++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menubar/OpenDirectory.java b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menubar/OpenDirectory.java index 8e919ee..fb8c1f1 100644 --- a/src/main/java/org/jcnc/jnotepad/controller/event/handler/menubar/OpenDirectory.java +++ b/src/main/java/org/jcnc/jnotepad/controller/event/handler/menubar/OpenDirectory.java @@ -26,10 +26,11 @@ public class OpenDirectory implements EventHandler { private static final ApplicationCacheManager CACHE_MANAGER = ApplicationCacheManager.getInstance(); private static final DirectorySidebarManager DIRECTORY_SIDEBAR_MANAGER = DirectorySidebarManager.getInstance(); + public static final String GROUP = "directory"; @Override public void handle(ActionEvent actionEvent) { // 获取缓存 - Cache cache = CACHE_MANAGER.getCache("directory", "openDirectory"); + Cache cache = CACHE_MANAGER.getCache(GROUP, "openDirectory"); // 显示文件选择对话框,并获取选中的文件 File file = BasicDirectoryChooserFactory.getInstance().createDirectoryChooser( @@ -42,7 +43,7 @@ public class OpenDirectory implements EventHandler { } // 设置缓存 if (cache == null) { - CACHE_MANAGER.addCache(CACHE_MANAGER.createCache("directory", "openDirectory", file.getAbsolutePath(), CacheExpirationTime.NEVER_EXPIRES.getValue())); + CACHE_MANAGER.addCache(CACHE_MANAGER.createCache(GROUP, "openDirectory", file.getAbsolutePath(), CacheExpirationTime.NEVER_EXPIRES.getValue())); } else { cache.setCacheData(file.getParent()); CACHE_MANAGER.addCache(cache); @@ -55,7 +56,7 @@ public class OpenDirectory implements EventHandler { // 将文件转为实体类 DirFileModel dirFileModel = FileUtil.getDirFileModel(file); // 缓存已打开的文件夹 - CACHE_MANAGER.addCache(CACHE_MANAGER.createCache("directory", "folderThatWasOpened", dirFileModel, CacheExpirationTime.NEVER_EXPIRES.getValue())); + CACHE_MANAGER.addCache(CACHE_MANAGER.createCache(GROUP, "folderThatWasOpened", file.getAbsolutePath(), CacheExpirationTime.NEVER_EXPIRES.getValue())); // 打开侧边栏 DIRECTORY_SIDEBAR_MANAGER.controlShow(true); // 设置文件树功能 diff --git a/src/main/java/org/jcnc/jnotepad/views/manager/DirectorySidebarManager.java b/src/main/java/org/jcnc/jnotepad/views/manager/DirectorySidebarManager.java index 316eedf..3dc35b5 100644 --- a/src/main/java/org/jcnc/jnotepad/views/manager/DirectorySidebarManager.java +++ b/src/main/java/org/jcnc/jnotepad/views/manager/DirectorySidebarManager.java @@ -2,10 +2,13 @@ package org.jcnc.jnotepad.views.manager; import javafx.scene.control.TreeItem; import org.jcnc.jnotepad.common.manager.ApplicationCacheManager; +import org.jcnc.jnotepad.common.util.FileUtil; +import org.jcnc.jnotepad.controller.event.handler.menubar.OpenDirectory; import org.jcnc.jnotepad.model.entity.DirFileModel; import org.jcnc.jnotepad.views.root.center.main.MainBorderPane; import org.jcnc.jnotepad.views.root.center.main.center.directory.DirectorySidebarPane; +import java.io.File; import java.util.List; /** @@ -97,7 +100,7 @@ public class DirectorySidebarManager { public void expandTheOpenFileTree() { // 获取缓存 - Object cacheData = CACHE_MANAGER.getCacheData("directory", "folderThatWasOpened"); + Object cacheData = CACHE_MANAGER.getCacheData(OpenDirectory.GROUP, "folderThatWasOpened"); // 判空 if (cacheData == null) { return; @@ -105,7 +108,7 @@ public class DirectorySidebarManager { // 打开侧边栏 controlShow(true); // 设置文件树功能 - setTreeView((DirFileModel) cacheData); + setTreeView(FileUtil.getDirFileModel(new File((String) cacheData))); }