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