更换解析json库
This commit is contained in:
parent
cbcdc120b7
commit
9808d49377
7
pom.xml
7
pom.xml
@ -33,10 +33,11 @@
|
|||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>cn.hutool</groupId>
|
<groupId>com.google.code.gson</groupId>
|
||||||
<artifactId>hutool-all</artifactId>
|
<artifactId>gson</artifactId>
|
||||||
<version>5.8.20</version>
|
<version>2.10.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
module org.jcnc.jnotepad {
|
module org.jcnc.jnotepad {
|
||||||
requires javafx.controls;
|
requires javafx.controls;
|
||||||
requires atlantafx.base;
|
requires atlantafx.base;
|
||||||
requires cn.hutool;
|
// requires cn.hutool.json;
|
||||||
|
// requires cn.hutool.core;
|
||||||
|
requires com.google.gson;
|
||||||
exports org.jcnc.jnotepad;
|
exports org.jcnc.jnotepad;
|
||||||
exports org.jcnc.jnotepad.tool;
|
exports org.jcnc.jnotepad.tool;
|
||||||
exports org.jcnc.jnotepad.Interface;
|
exports org.jcnc.jnotepad.Interface;
|
||||||
|
|||||||
@ -1,9 +1,8 @@
|
|||||||
package org.jcnc.jnotepad.controller.manager;
|
package org.jcnc.jnotepad.controller.manager;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import com.google.gson.Gson;
|
||||||
import cn.hutool.json.JSONObject;
|
import com.google.gson.GsonBuilder;
|
||||||
import cn.hutool.json.JSONUtil;
|
import com.google.gson.reflect.TypeToken;
|
||||||
import javafx.scene.control.Menu;
|
|
||||||
import javafx.scene.control.MenuItem;
|
import javafx.scene.control.MenuItem;
|
||||||
import javafx.scene.input.KeyCombination;
|
import javafx.scene.input.KeyCombination;
|
||||||
import org.jcnc.jnotepad.Interface.ShortcutKeyInterface;
|
import org.jcnc.jnotepad.Interface.ShortcutKeyInterface;
|
||||||
@ -26,15 +25,20 @@ public class ShortcutKey implements ShortcutKeyInterface {
|
|||||||
// 读取json文件
|
// 读取json文件
|
||||||
String jsonData = FileUtil.getJsonStr(jsonFile);
|
String jsonData = FileUtil.getJsonStr(jsonFile);
|
||||||
// 转json对象
|
// 转json对象
|
||||||
JSONObject shortcutKeyConfig = JSONUtil.parseObj(jsonData);
|
GsonBuilder gsonBuilder = new GsonBuilder();
|
||||||
for (Map.Entry<String, Object> stringObjectEntry : shortcutKeyConfig) {
|
Gson gson = gsonBuilder.create();
|
||||||
|
Map<String, String> shortcutKeyConfig = gson.fromJson(jsonData, new TypeToken<Map<String, String>>() {
|
||||||
|
}.getType());
|
||||||
|
for (Map.Entry<String, String> stringObjectEntry : shortcutKeyConfig.entrySet()) {
|
||||||
// 保证json的key必须和变量名一致
|
// 保证json的key必须和变量名一致
|
||||||
MenuItem menuItem = ViewManager.itemMap.get(stringObjectEntry.getKey());
|
MenuItem menuItem = ViewManager.itemMap.get(stringObjectEntry.getKey());
|
||||||
String shortKeyValue = stringObjectEntry.getValue().toString();
|
String shortKeyValue = stringObjectEntry.getValue();
|
||||||
if (ObjectUtil.isNotEmpty(shortKeyValue)&&ObjectUtil.isNotEmpty(menuItem)) {
|
|
||||||
// 动态添加快捷键
|
if ("".equals(shortKeyValue) || Objects.isNull(menuItem)) {
|
||||||
menuItem.setAccelerator(KeyCombination.keyCombination(shortKeyValue));
|
continue;
|
||||||
}
|
}
|
||||||
|
// 动态添加快捷键
|
||||||
|
menuItem.setAccelerator(KeyCombination.keyCombination(shortKeyValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user