diff --git a/README.md b/README.md index b66e01864b929b396ebc45808aea579b32c19b38..b54bdb866b28185d2e9a6fe7264b1feaf9d17603 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,6 @@ controllerType = "Node";// 内容类型 33. JsonConvertTool:Json转换工具(目前支持Json转Xml、Json转Java实体类、Json转C#实体类、Json转Excel、Json转Yaml、Properties转Yaml、Yaml转Properties)(使用[fastjson](https://github.com/alibaba/fastjson)、[snakeyaml](https://bitbucket.org/asomov/snakeyaml)、[dom4j](https://dom4j.github.io)等工具) 34. WechatJumpGameTool:微信跳一跳助手 35. TextToSpeechTool:语音转换工具(调用[百度语音](https://ai.baidu.com/tech/speech/tts)转换api) -36. 2048:小游戏2048 37. SocketTool:Socket调试工具(使用[Apache Mina](http://mina.apache.org)实现Tcp、Udp服务端和Client端) 38. ImageAnalysisTool:图片解析工具(1、.atlas文件反解析2、图片快速拆分工具) 39. DecompilerWxApkgTool:微信小程序反编译工具(一键反编译微信小程序包) @@ -92,11 +91,9 @@ controllerType = "Node";// 内容类型 50. FileSearchTool:文件搜索工具(使用[lucene](https://lucene.apache.org/)搜索引擎) 51. Mp3ConvertTool:Mp3转换工具(目前支持网易云音乐.ncm、QQ音乐.qmc转换为mp3格式)(使用[jaudiotagger](http://www.jthink.net/jaudiotagger/)工具) 52. SealBuilderTool:印章生成工具 -53. BullsAndCowsGame:猜数字小游戏 54. FileUnicodeTransformationTool:文件编码转换工具 55. FileCompressTool:文件解压缩工具(目前支持ar、zip、tar、jar、cpio、7z、gz、bzip2、xz、lzma、pack200、deflate、snappy-framed、lz4-block、lz4-framed、zstd等格式解压缩) 56. IdiomDataTool:成语字典工具(使用[h2](http://www.h2database.com)数据库存储数据字典) -57. Sudoku:数独游戏 #### 项目结构 diff --git a/assistTools/x-DecompilerWxApkgTool/pom.xml b/assistTools/x-DecompilerWxApkgTool/pom.xml index 80b6c3971cb259865ba5fc163fd90b9a0634e838..4ba27b51f9ef1078471322c28141650ad1d931b7 100644 --- a/assistTools/x-DecompilerWxApkgTool/pom.xml +++ b/assistTools/x-DecompilerWxApkgTool/pom.xml @@ -9,6 +9,8 @@ x-DecompilerWxApkgTool + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/assistTools/x-DecompilerWxApkgTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/assistTools/x-DecompilerWxApkgTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index df74155ac009a8a67efb86841bdce5f09b29d97a..21b53d8885f303746b4e05f259dbde23f0aa240d 100644 --- a/assistTools/x-DecompilerWxApkgTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/assistTools/x-DecompilerWxApkgTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/assistTools/x-IdiomDataTool/pom.xml b/assistTools/x-IdiomDataTool/pom.xml index 467e33b6f561b6cf013dc89777922009d375dca7..489ac8164efcacb306e9462d589a3b557eb593ec 100644 --- a/assistTools/x-IdiomDataTool/pom.xml +++ b/assistTools/x-IdiomDataTool/pom.xml @@ -22,7 +22,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots diff --git a/assistTools/x-TextToSpeechTool/pom.xml b/assistTools/x-TextToSpeechTool/pom.xml index a38cfdb853295cec9f6563506e9bcb60ca10dd37..d838dfbce10de0245e68a1fe64a7644a4bcde549 100644 --- a/assistTools/x-TextToSpeechTool/pom.xml +++ b/assistTools/x-TextToSpeechTool/pom.xml @@ -21,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots diff --git a/assistTools/x-WechatJumpGameTool/pom.xml b/assistTools/x-WechatJumpGameTool/pom.xml index ced97f0eba42a23adbc0c1211b48a0eebbfc2b1b..6d64a120a6ad0d69cadd6988094742e0146c30b5 100644 --- a/assistTools/x-WechatJumpGameTool/pom.xml +++ b/assistTools/x-WechatJumpGameTool/pom.xml @@ -9,6 +9,8 @@ x-WechatJumpGameTool + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/assistTools/x-WechatJumpGameTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/assistTools/x-WechatJumpGameTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index 2619a9c9f31e873277620057c5ec19f10e63f384..8c409884c7bb66563d6cc96b2264c36417bb21c4 100644 --- a/assistTools/x-WechatJumpGameTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/assistTools/x-WechatJumpGameTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/codeTools/x-CharsetDetectTool/pom.xml b/codeTools/x-CharsetDetectTool/pom.xml index 8df4bda98b0cb660a74f86c624db3a166ef563b9..d30f48443c2e2110629e334e43fd8cc797d912d7 100644 --- a/codeTools/x-CharsetDetectTool/pom.xml +++ b/codeTools/x-CharsetDetectTool/pom.xml @@ -9,6 +9,8 @@ x-CharsetDetectTool + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/codeTools/x-CharsetDetectTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/codeTools/x-CharsetDetectTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index cee2b60cf3ca300be40657f7e5af6d107c6bd9f1..8046d53228c3d58ad834fbf89617fe24fe3e9e3d 100644 --- a/codeTools/x-CharsetDetectTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/codeTools/x-CharsetDetectTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/codeTools/x-ColorCodeConverterTool/pom.xml b/codeTools/x-ColorCodeConverterTool/pom.xml index 534fe586dd386b9e6a16f75d6f98cd9278225f81..ba658696bb09bc76b661adb2bae6d6aff7f33d78 100644 --- a/codeTools/x-ColorCodeConverterTool/pom.xml +++ b/codeTools/x-ColorCodeConverterTool/pom.xml @@ -9,6 +9,8 @@ x-ColorCodeConverterTool + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/codeTools/x-ColorCodeConverterTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/codeTools/x-ColorCodeConverterTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index b05337930f2a545c6c04f8a04f4c626a1662c283..2100bf87cd31956f276581654f32ce262f9bd707 100644 --- a/codeTools/x-ColorCodeConverterTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/codeTools/x-ColorCodeConverterTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/codeTools/x-EscapeCharacter/pom.xml b/codeTools/x-EscapeCharacter/pom.xml index ebd64e58986326c3e957b3a49d6c1d38da51353b..326b230f15470b81b26de2bc7f75d5ea72de4a53 100644 --- a/codeTools/x-EscapeCharacter/pom.xml +++ b/codeTools/x-EscapeCharacter/pom.xml @@ -9,6 +9,8 @@ x-EscapeCharacter + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/codeTools/x-EscapeCharacter/src/main/java/com/xwintop/xJavaFxTool/Main.java b/codeTools/x-EscapeCharacter/src/main/java/com/xwintop/xJavaFxTool/Main.java index 5be3e8d1e23709084f5df29595beb3c2e6104bf8..2f28bc0d007db3d117ecbb40ee42a8215f0155fb 100644 --- a/codeTools/x-EscapeCharacter/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/codeTools/x-EscapeCharacter/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/codeTools/x-FileUnicodeTransformationTool/pom.xml b/codeTools/x-FileUnicodeTransformationTool/pom.xml index 4fde0f877c59fcb4b16377188f2daecac65b9340..cc74f442faae4d2b22b78f27f09fa132b43f7571 100644 --- a/codeTools/x-FileUnicodeTransformationTool/pom.xml +++ b/codeTools/x-FileUnicodeTransformationTool/pom.xml @@ -9,6 +9,8 @@ x-FileUnicodeTransformationTool + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/codeTools/x-FileUnicodeTransformationTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/codeTools/x-FileUnicodeTransformationTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index 8fe7d5b83a044153d1d5de7694f8d579347673c5..9734dcf995aee7894b70b8647adcae3769405bf1 100644 --- a/codeTools/x-FileUnicodeTransformationTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/codeTools/x-FileUnicodeTransformationTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/codeTools/x-IdCardGenerator/pom.xml b/codeTools/x-IdCardGenerator/pom.xml index 55086669557f26fa4f57020dca1fa92aa8fd5204..4f16f8830eacc951e2de97a2d88922270e9921ce 100644 --- a/codeTools/x-IdCardGenerator/pom.xml +++ b/codeTools/x-IdCardGenerator/pom.xml @@ -9,6 +9,8 @@ x-IdCardGenerator + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/codeTools/x-IdCardGenerator/src/main/java/com/xwintop/xJavaFxTool/Main.java b/codeTools/x-IdCardGenerator/src/main/java/com/xwintop/xJavaFxTool/Main.java index cb76bb50e29ce89842ebdaa0dd096a5e1a43f3c4..f125e2ec4b7478c71dd0f4bf2845199546b06458 100644 --- a/codeTools/x-IdCardGenerator/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/codeTools/x-IdCardGenerator/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/codeTools/x-RandomGeneratorTool/pom.xml b/codeTools/x-RandomGeneratorTool/pom.xml index 4279d29549b3f1256b7817c8146c357a4e273942..b2b194cf386f5d02375974be0dd0e639b3976850 100644 --- a/codeTools/x-RandomGeneratorTool/pom.xml +++ b/codeTools/x-RandomGeneratorTool/pom.xml @@ -9,6 +9,8 @@ x-RandomGeneratorTool + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/codeTools/x-RandomGeneratorTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/codeTools/x-RandomGeneratorTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index ff231af1817c2cda65be067fe46a212dd3b5c476..00978f456960da9e0f1f1584a1b76aed902b13d4 100644 --- a/codeTools/x-RandomGeneratorTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/codeTools/x-RandomGeneratorTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/codeTools/x-RegexTester/pom.xml b/codeTools/x-RegexTester/pom.xml index 770b7a0efb08004aa93693a2d4e7cb1c0b2721a0..cdbbde4c96e49e81b875a8c6c176769798e12c78 100644 --- a/codeTools/x-RegexTester/pom.xml +++ b/codeTools/x-RegexTester/pom.xml @@ -9,6 +9,8 @@ x-RegexTester + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/codeTools/x-RegexTester/src/main/java/com/xwintop/xJavaFxTool/Main.java b/codeTools/x-RegexTester/src/main/java/com/xwintop/xJavaFxTool/Main.java index 4a361872a16ed359418246f5e9333cfc1c43fd6a..72afe6ce24fccd46974d650cf708333b03fb41de 100644 --- a/codeTools/x-RegexTester/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/codeTools/x-RegexTester/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/codeTools/x-WebSourcesTool/pom.xml b/codeTools/x-WebSourcesTool/pom.xml index 6ee96d7db88c0966845b8f83dafff9c9794738d0..bb29ec49fe7c6d4d187c2df455f3c73ec07d531c 100644 --- a/codeTools/x-WebSourcesTool/pom.xml +++ b/codeTools/x-WebSourcesTool/pom.xml @@ -9,6 +9,8 @@ x-WebSourcesTool + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/codeTools/x-WebSourcesTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/codeTools/x-WebSourcesTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index 5c2d6c720704ce16c1875ea42a16a207ba556c5b..c53dfea34b8093450155f5f30d43752fdb9b1853 100644 --- a/codeTools/x-WebSourcesTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/codeTools/x-WebSourcesTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/debugTools/x-ActiveMqTool/pom.xml b/debugTools/x-ActiveMqTool/pom.xml index 087cd6e4888728a2b7ccf6416071c25b837f5739..9e94cab2d8bb1087cf578b234251fd5391f4d50e 100644 --- a/debugTools/x-ActiveMqTool/pom.xml +++ b/debugTools/x-ActiveMqTool/pom.xml @@ -21,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -46,12 +46,8 @@ com.xwintop xcore - 0.0.4-SNAPSHOT - - - ch.qos.logback - logback-classic - 1.2.3 + 0.0.6 + org.projectlombok @@ -59,7 +55,11 @@ 1.18.12 provided - + + ch.qos.logback + logback-classic + 1.2.3 + org.springframework.boot spring-boot-starter-activemq diff --git a/debugTools/x-ActiveMqTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/debugTools/x-ActiveMqTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index 6c45b0ff1545665dce585c2eeb1de005d445cc8c..f58b1ea805678204d5f45cd86db15727c1e6150a 100644 --- a/debugTools/x-ActiveMqTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/debugTools/x-ActiveMqTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/debugTools/x-CmdTool/pom.xml b/debugTools/x-CmdTool/pom.xml index 05d2289d4cf0b9b5326e7e849eeba9be6e9542c7..da3f6f34e485f106a5cca81cdfa5a68a4af9cb3b 100644 --- a/debugTools/x-CmdTool/pom.xml +++ b/debugTools/x-CmdTool/pom.xml @@ -21,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots diff --git a/debugTools/x-CmdTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/debugTools/x-CmdTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index 08741e6513ac21d0949eebef8061d27b386f24ff..323ad40e83be4ad5256f7fa0a664735a070003fc 100644 --- a/debugTools/x-CmdTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/debugTools/x-CmdTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -30,7 +30,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/debugTools/x-FtpClientTool/README.md b/debugTools/x-FtpClientTool/README.md index 9ce69ec77e5b300ef54a22f65ebf4bc3d662ad3c..b07638c7d3816be39367e6ce7739daf90a810901 100644 --- a/debugTools/x-FtpClientTool/README.md +++ b/debugTools/x-FtpClientTool/README.md @@ -1,2 +1,7 @@ FtpClientTool -Ftp(s)/Sftp客户端调试工具(批量上传、下载、删除文件及文件夹)(implicit/explicit SSL/TLS)(使用jsch、commons-io等工具) \ No newline at end of file +Ftp(s)/Sftp客户端调试工具(批量上传、下载、删除文件及文件夹)(implicit/explicit SSL/TLS)(使用jsch、commons-io等工具) + +- V0.0.2 +- 20200804 + 1. 添加commons-net包引用 + 2. 添加ftp连接时passive参数 \ No newline at end of file diff --git a/debugTools/x-FtpClientTool/pom.xml b/debugTools/x-FtpClientTool/pom.xml index c9e101f12a380de6343b69cd956f7776b820ed39..ae5192bf2fec171554f612dbea82bb5dd630922b 100644 --- a/debugTools/x-FtpClientTool/pom.xml +++ b/debugTools/x-FtpClientTool/pom.xml @@ -4,11 +4,13 @@ com.xwintop x-FtpClientTool - 0.0.1 + 0.0.2 jar x-FtpClientTool + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,10 +46,22 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided + + commons-net + commons-net + 3.6 + + com.jcraft diff --git a/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/FtpClientToolMain.java similarity index 81% rename from debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/Main.java rename to debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/FtpClientToolMain.java index 000f53cff089107c67fe9d31daa66cbc22409baf..91c63cb26ec6c5d3b961265592b5019011b9c2df 100644 --- a/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/FtpClientToolMain.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -13,7 +14,7 @@ import java.net.URL; import java.util.ResourceBundle; @Slf4j -public class Main extends Application { +public class FtpClientToolMain extends Application { public static void main(String[] args) { try { launch(args); @@ -24,13 +25,14 @@ public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception { - FXMLLoader fXMLLoader = Main.getFXMLLoader(); + FXMLLoader fXMLLoader = FtpClientToolMain.getFXMLLoader(); ResourceBundle resourceBundle = fXMLLoader.getResources(); Parent root = fXMLLoader.load(); primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/FtpClientToolController.java b/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/FtpClientToolController.java index 60a2235e73c7ff9fa2e5370b150f29f1b20f92de..4f76a6a884647762166472687cf4bb84375be825 100644 --- a/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/FtpClientToolController.java +++ b/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/FtpClientToolController.java @@ -134,6 +134,7 @@ public class FtpClientToolController extends FtpClientToolView { typeChoiceBox.setValue(typeChoiceBoxStrings[0]); JavaFxViewUtil.setSpinnerValueFactory(intervalSpinner, 60, Integer.MAX_VALUE); JavaFxViewUtil.setSpinnerValueFactory(repeatCountSpinner, -1, Integer.MAX_VALUE); + JavaFxViewUtil.setPasswordTextFieldFactory(passwordTextField); } private void initEvent() { diff --git a/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/FtpClientToolService.java b/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/FtpClientToolService.java index 19edcf9f5a5a34ee8b646ced24e303f6009e4b79..9ffde6c9c5b2fe7a514465c602df6e80862ee227 100644 --- a/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/FtpClientToolService.java +++ b/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/FtpClientToolService.java @@ -98,6 +98,7 @@ public class FtpClientToolService { ftpUtil.setProtocol("TLS"); } if (connectionType != 1) { + ftpUtil.setPassive(ftpClientToolController.getPassiveCheckBox().isSelected()); ftpUtil.checkAndConnect(); } if (ftpClientToolController.getTypeChoiceBoxStrings()[0].equals(type)) {// 上传 diff --git a/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/view/debugTools/FtpClientToolView.java b/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/view/debugTools/FtpClientToolView.java index e927d33f0409caf664663689a8a4a4df7e4761f3..f7114ee360d7020f0d1a9cd286d94afa0405cab8 100644 --- a/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/view/debugTools/FtpClientToolView.java +++ b/debugTools/x-FtpClientTool/src/main/java/com/xwintop/xJavaFxTool/view/debugTools/FtpClientToolView.java @@ -33,6 +33,8 @@ public abstract class FtpClientToolView implements Initializable { @FXML protected PasswordField passwordTextField; @FXML + protected CheckBox passiveCheckBox; + @FXML protected ChoiceBox connectionTypeChoiceBox; @FXML protected ChoiceBox quartzChoiceBox; diff --git a/debugTools/x-FtpClientTool/src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/FtpClientTool.fxml b/debugTools/x-FtpClientTool/src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/FtpClientTool.fxml index fed1415f2891da060bddbcecd1aae5df3fc9f58d..097d9521528eecc30f03b7305834fa17700628fc 100644 --- a/debugTools/x-FtpClientTool/src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/FtpClientTool.fxml +++ b/debugTools/x-FtpClientTool/src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/FtpClientTool.fxml @@ -16,6 +16,7 @@ + @@ -57,7 +58,12 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/debugTools/x-FtpServer/src/main/java/com/xwintop/xJavaFxTool/Main.java b/debugTools/x-FtpServer/src/main/java/com/xwintop/xJavaFxTool/FtpServerMain.java similarity index 81% rename from debugTools/x-FtpServer/src/main/java/com/xwintop/xJavaFxTool/Main.java rename to debugTools/x-FtpServer/src/main/java/com/xwintop/xJavaFxTool/FtpServerMain.java index 0d58350d5644393266059ccac557de7901cc173f..c61ad8d64ddff4776da04f9897376e887fbef535 100644 --- a/debugTools/x-FtpServer/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/debugTools/x-FtpServer/src/main/java/com/xwintop/xJavaFxTool/FtpServerMain.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -13,7 +14,7 @@ import java.net.URL; import java.util.ResourceBundle; @Slf4j -public class Main extends Application { +public class FtpServerMain extends Application { public static void main(String[] args) { try { launch(args); @@ -24,13 +25,14 @@ public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception { - FXMLLoader fXMLLoader = Main.getFXMLLoader(); + FXMLLoader fXMLLoader = FtpServerMain.getFXMLLoader(); ResourceBundle resourceBundle = fXMLLoader.getResources(); Parent root = fXMLLoader.load(); primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/debugTools/x-HttpTool/pom.xml b/debugTools/x-HttpTool/pom.xml index a4382ac1b1dbdb32a88598b8df13fdbdc21d334b..7ce46bdd09c2d839597a6455b3a2d9a16aa70785 100644 --- a/debugTools/x-HttpTool/pom.xml +++ b/debugTools/x-HttpTool/pom.xml @@ -19,7 +19,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots diff --git a/debugTools/x-HttpTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/debugTools/x-HttpTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index 860b90b74d0df3543e92a4b1a415db8238c2278e..7441ea1f48cb913772ffdcf15318532a7bc031d9 100644 --- a/debugTools/x-HttpTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/debugTools/x-HttpTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/debugTools/x-KafkaTool/pom.xml b/debugTools/x-KafkaTool/pom.xml index 27d32c7dd344ab6ecad9ec55507a9b34648ba4ef..7df5da1984c8d764dcdcf1d22e48fad218cb2a01 100644 --- a/debugTools/x-KafkaTool/pom.xml +++ b/debugTools/x-KafkaTool/pom.xml @@ -9,6 +9,8 @@ x-KafkaTool + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/debugTools/x-KafkaTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/debugTools/x-KafkaTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index efa3f0c432bac9effb15142004a04394b072c8a0..9292d64f17a69250bc3402b7bdf1ffd7e63d7afd 100644 --- a/debugTools/x-KafkaTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/debugTools/x-KafkaTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -30,7 +30,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/debugTools/x-RedisTool/pom.xml b/debugTools/x-RedisTool/pom.xml index 69e9d5133700e356bc00f3d542a53136a72e875b..2985a9f83f13263adf152f777582c0c49fbc72dc 100644 --- a/debugTools/x-RedisTool/pom.xml +++ b/debugTools/x-RedisTool/pom.xml @@ -21,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots diff --git a/debugTools/x-RedisTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/debugTools/x-RedisTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index 3d8fa0f81b6cad7e9686d23cae867844e267af69..27a658d11340943a41d1f65badba7f4052418732 100644 --- a/debugTools/x-RedisTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/debugTools/x-RedisTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/debugTools/x-ScriptEngineTool/pom.xml b/debugTools/x-ScriptEngineTool/pom.xml index 2aa849bf75b144ff47bce2c4b4b9c90e7a047e2f..d51303644fd7855cd929fb150896b737d83b3301 100644 --- a/debugTools/x-ScriptEngineTool/pom.xml +++ b/debugTools/x-ScriptEngineTool/pom.xml @@ -9,6 +9,8 @@ x-ScriptEngineTool + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/debugTools/x-ScriptEngineTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/debugTools/x-ScriptEngineTool/src/main/java/com/xwintop/xJavaFxTool/Main.java index 0f4d787a1128144b461d7c2a3911daf4076edad3..e44c28df9f0f3b96e62b10f08a2bf60480d2fe9f 100644 --- a/debugTools/x-ScriptEngineTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/debugTools/x-ScriptEngineTool/src/main/java/com/xwintop/xJavaFxTool/Main.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -30,7 +31,8 @@ public class Main extends Application { primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/debugTools/x-SocketTool/README.md b/debugTools/x-SocketTool/README.md index 042df6e82c4c61f19b7e49bc56ac6d37125d3778..60f8a95bee097951457c9e488b45ecb375e33f61 100644 --- a/debugTools/x-SocketTool/README.md +++ b/debugTools/x-SocketTool/README.md @@ -1,2 +1,8 @@ SocketTool -Socket调试工具(使用[Apache Mina](http://mina.apache.org)实现Tcp、Udp服务端和Client端) \ No newline at end of file +Socket调试工具(使用[Apache Mina](http://mina.apache.org)实现Tcp、Udp服务端和Client端) + +- V0.0.2 +- 20200802 + 添加服务端自动回复功能 +- 20200803 + 添加ssl传输支持 \ No newline at end of file diff --git a/debugTools/x-SocketTool/pom.xml b/debugTools/x-SocketTool/pom.xml index 23ab44701a772f6046256fc8a0e81381807987ab..d5c7011982f63f87e26e8a10c245e2c9bbd4a3c9 100644 --- a/debugTools/x-SocketTool/pom.xml +++ b/debugTools/x-SocketTool/pom.xml @@ -4,11 +4,13 @@ com.xwintop x-SocketTool - 0.0.1 + 0.0.2 jar x-SocketTool + 1.8 + 1.8 UTF-8 @@ -19,7 +21,7 @@ xwintop-maven - https://xwintop.gitee.io/maven/repository + https://864381832.github.io/maven/repository spring-snapshots @@ -44,7 +46,13 @@ com.xwintop xcore - 0.0.3-SNAPSHOT + 0.0.6 + + + + org.projectlombok + lombok + 1.18.12 provided diff --git a/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/Main.java b/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/ScoketToolMain.java similarity index 81% rename from debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/Main.java rename to debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/ScoketToolMain.java index 5e26d29fa63231d3902e92ac1b1073a5c2b906aa..2b0bf322153264f5272f0893832f2a55aeb8456e 100644 --- a/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/Main.java +++ b/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/ScoketToolMain.java @@ -1,5 +1,6 @@ package com.xwintop.xJavaFxTool; +import com.xwintop.xcore.util.javafx.JavaFxSystemUtil; import javafx.application.Application; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; @@ -13,7 +14,7 @@ import java.net.URL; import java.util.ResourceBundle; @Slf4j -public class Main extends Application { +public class ScoketToolMain extends Application { public static void main(String[] args) { try { launch(args); @@ -24,13 +25,14 @@ public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception { - FXMLLoader fXMLLoader = Main.getFXMLLoader(); + FXMLLoader fXMLLoader = ScoketToolMain.getFXMLLoader(); ResourceBundle resourceBundle = fXMLLoader.getResources(); Parent root = fXMLLoader.load(); primaryStage.setResizable(true); primaryStage.setTitle(resourceBundle.getString("Title")); // primaryStage.getIcons().add(new Image("/images/icon.jpg")); - primaryStage.setScene(new Scene(root)); + double[] screenSize = JavaFxSystemUtil.getScreenSizeByScale(0.74D, 0.8D); + primaryStage.setScene(new Scene(root, screenSize[0], screenSize[1])); primaryStage.show(); primaryStage.setOnCloseRequest(new EventHandler() { @Override diff --git a/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/SocketToolController.java b/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/SocketToolController.java index f4560f630fd1ae2ba07442bc953b1b68552aed88..2d446f5a7a10c8bd5f272aff25f531cdc8ca8e41 100644 --- a/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/SocketToolController.java +++ b/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/SocketToolController.java @@ -36,6 +36,7 @@ import java.util.ResourceBundle; public class SocketToolController extends SocketToolView { private SocketToolService socketToolService = new SocketToolService(this); private ObservableList> serverConnectTableData = FXCollections.observableArrayList(); + private String[] autoReplyTypeStrings = new String[]{"接收的数据", "写入的数据"}; @Override public void initialize(URL location, ResourceBundle resources) { @@ -49,6 +50,8 @@ public class SocketToolController extends SocketToolView { } private void initView() throws Exception { + autoReplyTypeChoiceBox.getItems().addAll(autoReplyTypeStrings); + autoReplyTypeChoiceBox.setValue(autoReplyTypeStrings[0]); serverTcpUrlComboBox.getItems().add("127.0.0.1"); serverUdpUrlComboBox.getItems().add("127.0.0.1"); clientUrlComboBox.getItems().add("127.0.0.1"); @@ -70,6 +73,10 @@ public class SocketToolController extends SocketToolView { JavaFxViewUtil.setTableColumnMapValueFactory(serverConnectTableColumn, "connect", false); serverConnectTableView.setItems(serverConnectTableData); serverConnectTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); + JavaFxViewUtil.setPasswordTextFieldFactory(serverKeyStorePasswordTextField); + JavaFxViewUtil.setPasswordTextFieldFactory(serverTrustStorePasswordTextField); + JavaFxViewUtil.setPasswordTextFieldFactory(clientKeyStorePasswordTextField); + JavaFxViewUtil.setPasswordTextFieldFactory(clientTrustStorePasswordTextField); } private void initEvent() { diff --git a/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/socketTool/SocketServerHandler.java b/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/socketTool/SocketServerHandler.java index 88566ad8d7d54beddf0ba7a1ea98e4c5ede22f3b..9f09b6ec193735d555130765490a639160c29025 100644 --- a/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/socketTool/SocketServerHandler.java +++ b/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/socketTool/SocketServerHandler.java @@ -32,25 +32,32 @@ public class SocketServerHandler extends IoHandlerAdapter { String str = message.toString(); log.info("接受到的消息:" + str); this.socketToolService.writeServerLog("接受到的消息:" + str); + if (socketToolService.getSocketToolController().getEnableAutoReplyCheckBox().isSelected()) { + if (socketToolService.getSocketToolController().getAutoReplyTypeChoiceBox().getSelectionModel().getSelectedIndex() == 0) { + socketToolService.serverDataSendAction(message.toString()); + } else { + socketToolService.serverDataSendAction(socketToolService.getSocketToolController().getAutoReplyTextField().getText()); + } + } } @Override public void messageSent(IoSession session, Object message) throws Exception { log.info("发送信息:" + message.toString()); - this.socketToolService.writeServerLog("向 "+session.getRemoteAddress().toString()+" 发送数据:"+message.toString()); + this.socketToolService.writeServerLog("向 " + session.getRemoteAddress().toString() + " 发送数据:" + message.toString()); } @Override public void sessionClosed(IoSession session) throws Exception { List> serverConnectTableData = socketToolService.getSocketToolController().getServerConnectTableData(); for (int i = 0; i < serverConnectTableData.size(); i++) { - if(serverConnectTableData.get(i).get("connect").contains(session.getRemoteAddress().toString())){ + if (serverConnectTableData.get(i).get("connect").contains(session.getRemoteAddress().toString())) { serverConnectTableData.remove(i); break; } } log.info("IP:" + session.getRemoteAddress().toString() + "断开连接"); - socketToolService.writeServerLog("断开连接:"+session.getRemoteAddress().toString()); + socketToolService.writeServerLog("断开连接:" + session.getRemoteAddress().toString()); } @Override @@ -59,12 +66,12 @@ public class SocketServerHandler extends IoHandlerAdapter { stringStringMap.put("connect", session.getRemoteAddress().toString()); socketToolService.getSocketToolController().getServerConnectTableData().add(stringStringMap); // log.info("添加连接: " + session.getRemoteAddress().toString()); - socketToolService.writeServerLog("添加连接:"+session.getRemoteAddress().toString()); + socketToolService.writeServerLog("添加连接:" + session.getRemoteAddress().toString()); } @Override public void sessionIdle(IoSession session, IdleStatus status) throws Exception { -// log.info("IDLE: " + session.getRemoteAddress().toString() + " : " + session.getIdleCount(status)); + log.info("IDLE: " + session.getRemoteAddress().toString() + " : " + session.getIdleCount(status)); } @Override diff --git a/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/socketTool/SocketToolService.java b/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/socketTool/SocketToolService.java index 712cf21c8be93976309121ea52fed559e9acf815..64507d922b86f8f9f2d1b098f6ae4bc9c87d8a1d 100644 --- a/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/socketTool/SocketToolService.java +++ b/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/socketTool/SocketToolService.java @@ -12,13 +12,19 @@ import org.apache.mina.core.session.IoSession; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.filter.codec.textline.TextLineCodecFactory; import org.apache.mina.filter.logging.LoggingFilter; +import org.apache.mina.filter.ssl.KeyStoreFactory; +import org.apache.mina.filter.ssl.SslContextFactory; +import org.apache.mina.filter.ssl.SslFilter; import org.apache.mina.transport.socket.nio.NioDatagramAcceptor; import org.apache.mina.transport.socket.nio.NioDatagramConnector; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; import org.apache.mina.transport.socket.nio.NioSocketConnector; +import javax.net.ssl.SSLContext; +import java.io.File; import java.net.InetAddress; import java.net.InetSocketAddress; +import java.security.KeyStore; import java.util.List; import java.util.Map; @@ -48,6 +54,11 @@ public class SocketToolService { tcpAcceptor = new NioSocketAcceptor(); //接着,如结构图示,在Acceptor和IoHandler之间将设置一系列的Fliter //包括记录过滤器和编解码过滤器。其中TextLineCodecFactory是mina自带的文本解编码器 + if (socketToolController.getServerIsUseSslCheckBox().isSelected()) { + SslFilter sslFilter = new SslFilter(this.getSslContext(socketToolController.getServerKeyStorePathTextField().getText(), socketToolController.getServerKeyStorePasswordTextField().getText(), socketToolController.getServerTrustStoreTextField().getText(), socketToolController.getServerTrustStorePasswordTextField().getText())); + // a.ssl过滤器,这个一定要第一个添加,否则数据不会进行加密 + tcpAcceptor.getFilterChain().addFirst("sslFilter", sslFilter); + } tcpAcceptor.getFilterChain().addLast("logger", new LoggingFilter()); tcpAcceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory())); // acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new PrefixedStringCodecFactory(Charset.forName("UTF-8")))); @@ -69,6 +80,7 @@ public class SocketToolService { tcpAcceptor.unbind(); writeServerLog("停止TCP服务器成功。"); this.socketToolController.getServerTcpListenButton().setText("TCP侦听"); + tcpAcceptor = null; } } @@ -86,6 +98,11 @@ public class SocketToolService { udpAcceptor.getSessionConfig().setReadBufferSize(2048); //设置等待时间,每隔IdleTime将调用一次handler.sessionIdle()方法 udpAcceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10); + if (socketToolController.getServerIsUseSslCheckBox().isSelected()) { + SslFilter sslFilter = new SslFilter(this.getSslContext(socketToolController.getServerKeyStorePathTextField().getText(), socketToolController.getServerKeyStorePasswordTextField().getText(), socketToolController.getServerTrustStoreTextField().getText(), socketToolController.getServerTrustStorePasswordTextField().getText())); + // a.ssl过滤器,这个一定要第一个添加,否则数据不会进行加密 + udpAcceptor.getFilterChain().addFirst("sslFilter", sslFilter); + } } if (!udpAcceptor.isActive()) { String url = this.socketToolController.getServerUdpUrlComboBox().getValue(); @@ -98,6 +115,7 @@ public class SocketToolService { udpAcceptor.unbind(); writeServerLog("停止UDP服务器成功。"); this.socketToolController.getServerUdpListenButton().setText("UDP侦听"); + udpAcceptor = null; } } @@ -129,6 +147,12 @@ public class SocketToolService { public void clientTcpConnectAction() throws Exception { if (connector == null) { connector = new NioSocketConnector(); + if (socketToolController.getClientIsUseSslCheckBox().isSelected()) { + SslFilter sslFilter = new SslFilter(this.getSslContext(socketToolController.getClientKeyStorePathTextField().getText(), socketToolController.getClientKeyStorePasswordTextField().getText(), socketToolController.getClientTrustStoreTextField().getText(), socketToolController.getClientTrustStorePasswordTextField().getText())); + sslFilter.setUseClientMode(true); + // a.ssl过滤器,这个一定要第一个添加,否则数据不会进行加密 + connector.getFilterChain().addFirst("sslFilter", sslFilter); + } connector.getFilterChain().addLast("logger", new LoggingFilter()); connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory())); connector.setHandler(new SocketClientHandler(this)); @@ -156,6 +180,12 @@ public class SocketToolService { public void clientUdpConnectAction() throws Exception { if (connector == null) { connector = new NioDatagramConnector(); + if (socketToolController.getClientIsUseSslCheckBox().isSelected()) { + SslFilter sslFilter = new SslFilter(this.getSslContext(socketToolController.getClientKeyStorePathTextField().getText(), socketToolController.getClientKeyStorePasswordTextField().getText(), socketToolController.getClientTrustStoreTextField().getText(), socketToolController.getClientTrustStorePasswordTextField().getText())); + sslFilter.setUseClientMode(true); + // a.ssl过滤器,这个一定要第一个添加,否则数据不会进行加密 + connector.getFilterChain().addFirst("sslFilter", sslFilter); + } connector.getFilterChain().addLast("logger", new LoggingFilter()); connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory())); connector.setHandler(new SocketClientHandler(this)); @@ -197,4 +227,41 @@ public class SocketToolService { log.info("Client:" + logString); this.socketToolController.getClientLogTextArea().appendText("\n" + logString); } + + public static SSLContext getSslContext(String keyStorePath, String keyStorePassword, String trustStorePath, String trustStorePassword) throws Exception { + SSLContext sslContext = null; + /* + * 提供keystore的存放目录,读取keystore的文件内容 + */ + File keyStoreFile = new File(keyStorePath); + /* + * 提供truststore的存放目录,读取truststore的文件内容 + */ + File trustStoreFile = new File(trustStorePath); + + if (keyStoreFile.exists() && trustStoreFile.exists()) { + final KeyStoreFactory keyStoreFactory = new KeyStoreFactory(); + keyStoreFactory.setDataFile(keyStoreFile); + /* + * 这个是当初我们使用keytool创建keystore和truststore文件的密码,也是上次让你们一定要记住密码的原因了 + */ + keyStoreFactory.setPassword(keyStorePassword); + final KeyStoreFactory trustStoreFactory = new KeyStoreFactory(); + trustStoreFactory.setDataFile(trustStoreFile); + trustStoreFactory.setPassword(trustStorePassword); + + final SslContextFactory sslContextFactory = new SslContextFactory(); + final KeyStore keyStore = keyStoreFactory.newInstance(); + sslContextFactory.setKeyManagerFactoryKeyStore(keyStore); + + final KeyStore trustStore = trustStoreFactory.newInstance(); + sslContextFactory.setTrustManagerFactoryKeyStore(trustStore); + sslContextFactory.setKeyManagerFactoryKeyStorePassword("123456"); + sslContext = sslContextFactory.newInstance(); + } else { + log.error("Keystore or Truststore file does not exist"); + throw new Exception("Keystore or Truststore file does not exist"); + } + return sslContext; + } } \ No newline at end of file diff --git a/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/view/debugTools/SocketToolView.java b/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/view/debugTools/SocketToolView.java index 0a4679754bcb44426508b017b4ca4c816fba639c..77218dee8441d48954db65735f47a76b1ebd9ba0 100644 --- a/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/view/debugTools/SocketToolView.java +++ b/debugTools/x-SocketTool/src/main/java/com/xwintop/xJavaFxTool/view/debugTools/SocketToolView.java @@ -74,5 +74,30 @@ public abstract class SocketToolView implements Initializable { protected Button clientClearLogButton; @FXML protected TextArea clientLogTextArea; - + @FXML + protected CheckBox enableAutoReplyCheckBox; + @FXML + protected ChoiceBox autoReplyTypeChoiceBox; + @FXML + protected TextField autoReplyTextField; + @FXML + protected CheckBox serverIsUseSslCheckBox; + @FXML + protected TextField serverKeyStorePathTextField; + @FXML + protected PasswordField serverKeyStorePasswordTextField; + @FXML + protected TextField serverTrustStoreTextField; + @FXML + protected PasswordField serverTrustStorePasswordTextField; + @FXML + protected CheckBox clientIsUseSslCheckBox; + @FXML + protected TextField clientKeyStorePathTextField; + @FXML + protected PasswordField clientKeyStorePasswordTextField; + @FXML + protected TextField clientTrustStoreTextField; + @FXML + protected PasswordField clientTrustStorePasswordTextField; } \ No newline at end of file diff --git a/debugTools/x-SocketTool/src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/SocketTool.fxml b/debugTools/x-SocketTool/src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/SocketTool.fxml index 256100961a8b178c29bfd5f3c524e70081cf562e..4d02f34e52fee0f844e6961cdfa055cd6733da54 100644 --- a/debugTools/x-SocketTool/src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/SocketTool.fxml +++ b/debugTools/x-SocketTool/src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/SocketTool.fxml @@ -2,8 +2,11 @@ + + + @@ -15,9 +18,10 @@ + - +
@@ -51,6 +55,31 @@
-
-
+ + + + + + +