From 83e4410b17b3affaf619f51909a7b80901f37acc Mon Sep 17 00:00:00 2001 From: zhangmeng <1334717033@qq.com> Date: Mon, 9 Oct 2023 14:31:37 +0800 Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B410=E6=9C=889=E6=97=A514:31:23?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 13 +++++ .../tools/JavaFxToolsApplication.java | 21 +++++++++ .../tools/controller/EditListController.java | 23 +++++++++ .../tools/editors/timifx/TimiFxEditor.java | 47 +++++++++++++++++++ .../com/zhangmeng/tools/utils/Resources.java | 34 ++++++++++++++ .../zhangmeng/tools/utils/ResourcesUtils.java | 1 + src/main/resources/mystyle-java-fx-tools.ini | 19 ++++++++ 7 files changed, 158 insertions(+) create mode 100644 src/main/java/com/zhangmeng/tools/editors/timifx/TimiFxEditor.java create mode 100644 src/main/java/com/zhangmeng/tools/utils/Resources.java create mode 100644 src/main/resources/mystyle-java-fx-tools.ini diff --git a/pom.xml b/pom.xml index 74a1984..2660395 100644 --- a/pom.xml +++ b/pom.xml @@ -448,6 +448,19 @@ timi-fx 1.4.0 + + + net.imyeyu.timifx.icon + timi-fx-icon + 1.2.8 + + + + net.imyeyu.timiinject + timi-inject + 1.4.0 + + eu.mihosoft.monacofx MonacoFX diff --git a/src/main/java/com/zhangmeng/tools/JavaFxToolsApplication.java b/src/main/java/com/zhangmeng/tools/JavaFxToolsApplication.java index da48eb8..4197a29 100644 --- a/src/main/java/com/zhangmeng/tools/JavaFxToolsApplication.java +++ b/src/main/java/com/zhangmeng/tools/JavaFxToolsApplication.java @@ -25,8 +25,15 @@ package com.zhangmeng.tools; +import com.zhangmeng.tools.utils.Resources; import com.zhangmeng.tools.views.LoadView; import javafx.application.Application; +import net.imyeyu.timijava.Lang; +import net.imyeyu.timijava.config.Config; +import net.imyeyu.timijava.config.ConfigManager; + +import static net.imyeyu.timifx.TimiFX.TIMI_FX_LANG; +import static net.imyeyu.timijava.TimiJava.TIMI_JAVA_LANG; /** * @author : 芊芊墨客 @@ -35,6 +42,20 @@ import javafx.application.Application; */ public class JavaFxToolsApplication { + static { + // 配置加载 + ConfigManager configManager = ConfigManager.getInstance(); + configManager.setAutoSave(10); + configManager.load(Resources.CONFIG_PATH); + + //多语言系统 + String local = ConfigManager.getConfig(Resources.CONFIG_PATH).getString(Config.section("Main").key("Lang")); + Lang.init(local); + Lang.load(TIMI_JAVA_LANG); + Lang.load(TIMI_FX_LANG); + Lang.load("lang/%s.lang"); + } + public static void main(String[] args) { Application.launch(LoadView.class); } diff --git a/src/main/java/com/zhangmeng/tools/controller/EditListController.java b/src/main/java/com/zhangmeng/tools/controller/EditListController.java index b996dd3..5563766 100644 --- a/src/main/java/com/zhangmeng/tools/controller/EditListController.java +++ b/src/main/java/com/zhangmeng/tools/controller/EditListController.java @@ -3,6 +3,7 @@ package com.zhangmeng.tools.controller; import com.zhangmeng.tools.editors.ace.AceEditor; import com.zhangmeng.tools.editors.codemirr.CodeMirrWebView; import com.zhangmeng.tools.editors.monaco.*; +import com.zhangmeng.tools.editors.timifx.TimiFxEditor; import com.zhangmeng.tools.utils.AlertUtils; import com.zhangmeng.tools.utils.ClipboardUtils; import com.zhangmeng.tools.utils.ImagePath; @@ -59,6 +60,7 @@ public class EditListController { private AceEditor acJsEditor; private AnchorPane monacoEdit; private AnchorPane codemirror; + private AnchorPane timiFx; public static final String color_cell = "#f4f4f4"; @@ -260,6 +262,13 @@ public class EditListController { } codemirror(flag); } + + if (newValue.getIndex() == 3) { + if (timiFx != null){ + flag = true; + } + timiFx(flag); + } } }); } @@ -269,6 +278,7 @@ public class EditListController { case Ace_JS -> new Image(ImagePath.path(ImagePath.ImagePathType.MD5)); case Monaco_JS -> new Image(ImagePath.path(ImagePath.ImagePathType.MD5)); case CodeMirror_JS -> new Image(ImagePath.path(ImagePath.ImagePathType.MD5)); + case Timi_Fx -> new Image(ImagePath.path(ImagePath.ImagePathType.MD5)); }; } @@ -372,6 +382,19 @@ public class EditListController { common_method(); } + private void timiFx(boolean flag) { + + //默认选择第一个 + listView.getSelectionModel().select(3); + if (!flag){ + root = new TimiFxEditor(); + timiFx = root; + }else { + root = timiFx; + } + common_method(); + } + private void common_method() { splitPane.getItems().remove(1); diff --git a/src/main/java/com/zhangmeng/tools/editors/timifx/TimiFxEditor.java b/src/main/java/com/zhangmeng/tools/editors/timifx/TimiFxEditor.java new file mode 100644 index 0000000..d6feb18 --- /dev/null +++ b/src/main/java/com/zhangmeng/tools/editors/timifx/TimiFxEditor.java @@ -0,0 +1,47 @@ +package com.zhangmeng.tools.editors.timifx; + +import com.zhangmeng.tools.utils.Resources; +import javafx.scene.layout.AnchorPane; +import net.imyeyu.timifx.component.TextAreaEditor; +import net.imyeyu.timijava.Lang; +import net.imyeyu.timijava.Tools; +import net.imyeyu.timijava.bean.Language; +import net.imyeyu.timijava.config.Config; +import net.imyeyu.timijava.config.ConfigManager; + +import static net.imyeyu.timifx.TimiFX.CSS_BORDER_L; +import static net.imyeyu.timifx.TimiFX.TIMI_FX_LANG; +import static net.imyeyu.timijava.TimiJava.TIMI_JAVA_LANG; + +public class TimiFxEditor extends AnchorPane { + + private TextAreaEditor editor ; + + public TextAreaEditor getEditor() { + return editor; + } + + public void setEditor(TextAreaEditor editor) { + this.editor = editor; + } + + public TimiFxEditor() { + init(); + } + + public TimiFxEditor(String text) { + init(); + editor.setText(text); + } + + public void init(){ + editor = new TextAreaEditor(); + editor.getStyleClass().add(CSS_BORDER_L); + getChildren().add(editor); + AnchorPane.setTopAnchor(editor,0.0); + AnchorPane.setBottomAnchor(editor,0.0); + AnchorPane.setLeftAnchor(editor,0.0); + AnchorPane.setRightAnchor(editor,0.0); + } + +} diff --git a/src/main/java/com/zhangmeng/tools/utils/Resources.java b/src/main/java/com/zhangmeng/tools/utils/Resources.java new file mode 100644 index 0000000..885dbbf --- /dev/null +++ b/src/main/java/com/zhangmeng/tools/utils/Resources.java @@ -0,0 +1,34 @@ +package com.zhangmeng.tools.utils; + +import javafx.scene.image.Image; +import net.imyeyu.timifx.TimiFX; +import net.imyeyu.timifx.util.TrayFX; +import net.imyeyu.timiinject.annotation.IOCReturn; +import net.imyeyu.timijava.config.Config; +import net.imyeyu.timijava.config.ConfigManager; + +/** + * 静态资源 + * + *

夜雨 创建于 2022-08-26 15:23 + */ +@net.imyeyu.timiinject.annotation.Resources +public class Resources implements TimiFX { + + /** 配置路径 */ + public static final String CONFIG_PATH = "mystyle-java-fx-tools.ini"; + + public static final Image ICON_X64 = new Image(TFX_RESOURCE + "icon.png", 64, 64, true, false); + + /** @return 配置 */ + @IOCReturn + public Config config() { + return ConfigManager.getConfig(CONFIG_PATH); + } + + /** @return 托盘 */ + @IOCReturn + public TrayFX trayFX() { + return TrayFX.getInstance(); + } +} \ No newline at end of file diff --git a/src/main/java/com/zhangmeng/tools/utils/ResourcesUtils.java b/src/main/java/com/zhangmeng/tools/utils/ResourcesUtils.java index 6486627..44b47b6 100644 --- a/src/main/java/com/zhangmeng/tools/utils/ResourcesUtils.java +++ b/src/main/java/com/zhangmeng/tools/utils/ResourcesUtils.java @@ -364,6 +364,7 @@ public class ResourcesUtils { Ace_JS("ace.js 编辑器", 0), Monaco_JS("monaco.js 编辑器", 1), CodeMirror_JS("codemirror.js 编辑器", 2), + Timi_Fx("timi-fx 编辑器",3), ; diff --git a/src/main/resources/mystyle-java-fx-tools.ini b/src/main/resources/mystyle-java-fx-tools.ini new file mode 100644 index 0000000..37a9511 --- /dev/null +++ b/src/main/resources/mystyle-java-fx-tools.ini @@ -0,0 +1,19 @@ +# +# TimiFXExamples 配置文件,不建议手动修改,可能会导致程序异常或崩溃 +# + +[Main] + +# 语言 +Lang=zh_CN + +# 窗体宽度,静默配置,双精度浮点型,取值范围 [1, 系统最大限制],默认 1300 +Width=1300 + +# 窗体高度,静默配置,双精度浮点型,取值范围 [1, 系统最大限制],默认 850 +Height=850 + +[Interpolator] + +# 动画插值器持续时间 +Duration=1000 \ No newline at end of file