diff --git a/pom.xml b/pom.xml index 0fed9d1..ded11a0 100644 --- a/pom.xml +++ b/pom.xml @@ -32,10 +32,11 @@ ${junit.version} test + - com.google.code.gson - gson - 2.10.1 + com.fasterxml.jackson.core + jackson-databind + 2.12.7.1 diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 82564b9..f8ce033 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -5,12 +5,15 @@ module org.jcnc.jnotepad { // 但我打开源代码,他们的模块的确有包含这个,java.naming,这个没懂,我干脆自己导入 requires java.naming; requires atlantafx.base; - requires com.google.gson; + requires com.fasterxml.jackson.core; + requires com.fasterxml.jackson.databind; + requires com.fasterxml.jackson.annotation; requires org.slf4j; requires ch.qos.logback.core; requires ch.qos.logback.classic; requires com.ibm.icu; + exports org.jcnc.jnotepad.app.config; exports org.jcnc.jnotepad; exports org.jcnc.jnotepad.tool; exports org.jcnc.jnotepad.Interface; diff --git a/src/main/java/org/jcnc/jnotepad/Interface/ShortcutKeyInterface.java b/src/main/java/org/jcnc/jnotepad/Interface/ShortcutKeyInterface.java deleted file mode 100644 index 36c7122..0000000 --- a/src/main/java/org/jcnc/jnotepad/Interface/ShortcutKeyInterface.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.jcnc.jnotepad.Interface; - -/** - * @author 一个大转盘 - */ -public interface ShortcutKeyInterface { - void createShortcutKeyByConfig(); - -} diff --git a/src/main/java/org/jcnc/jnotepad/LunchApp.java b/src/main/java/org/jcnc/jnotepad/LunchApp.java index b8d4d15..ed227c4 100644 --- a/src/main/java/org/jcnc/jnotepad/LunchApp.java +++ b/src/main/java/org/jcnc/jnotepad/LunchApp.java @@ -7,6 +7,7 @@ import javafx.scene.Scene; import javafx.scene.image.Image; import javafx.scene.layout.Pane; import javafx.stage.Stage; +import org.jcnc.jnotepad.app.config.LoadShortcutKeyConfig; import org.jcnc.jnotepad.constants.AppConstants; import org.jcnc.jnotepad.controller.manager.Controller; import org.jcnc.jnotepad.init.Config; @@ -33,28 +34,22 @@ public class LunchApp extends Application { Controller controller = Controller.getInstance(); Scene scene; - View view; @Override public void start(Stage primaryStage) { Config config = new Config(); - Properties properties = config.readPropertiesFromFile(); String title = properties.getProperty("title", "JNotepad"); - view = new View(); - Pane root = new Pane(); - double width = AppConstants.SCREEN_WIDTH; double length = AppConstants.SCREEN_LENGTH; String icon = AppConstants.APP_ICON; - scene = new Scene(root, width, length); Application.setUserAgentStylesheet(new PrimerLight().getUserAgentStylesheet()); scene.getStylesheets().add(Objects.requireNonNull(getClass().getResource("/css/styles.css")).toExternalForm()); @@ -76,9 +71,7 @@ public class LunchApp extends Application { ViewManager viewManager = ViewManager.getInstance(scene); viewManager.initScreen(scene); // 初始化快捷键 - view.initShortcutKey(); - - + View.getInstance().initShortcutKey(new LoadShortcutKeyConfig()); } @Override diff --git a/src/main/java/org/jcnc/jnotepad/app/config/JnotepadConfig.java b/src/main/java/org/jcnc/jnotepad/app/config/JnotepadConfig.java new file mode 100644 index 0000000..c138fba --- /dev/null +++ b/src/main/java/org/jcnc/jnotepad/app/config/JnotepadConfig.java @@ -0,0 +1,53 @@ +package org.jcnc.jnotepad.app.config; + + +import org.jcnc.jnotepad.app.entity.ShortcutKey; +import org.jcnc.jnotepad.app.entity.Style; + +import java.util.List; + +/** + * 应用程序配置类 + * + * @author gewuyou 一个大转盘 + * @see [相关类/方法] + */ +public class JnotepadConfig { + /** + * 快捷键列表 + */ + private List shortcutKeyList; + + /** + * 样式列表 TODO + */ + private List