2023年5月17日16:40:02
parent
0000aab742
commit
7390de076c
7
pom.xml
7
pom.xml
|
|
@ -211,6 +211,13 @@
|
||||||
<version>19</version>
|
<version>19</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-swing -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.openjfx</groupId>
|
||||||
|
<artifactId>javafx-swing</artifactId>
|
||||||
|
<version>19</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.leewyatt</groupId>
|
<groupId>com.github.leewyatt</groupId>
|
||||||
<artifactId>rxcontrols</artifactId>
|
<artifactId>rxcontrols</artifactId>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,260 @@
|
||||||
|
package com.zhangmeng.tools.controller;
|
||||||
|
|
||||||
|
import javafx.embed.swing.SwingFXUtils;
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.geometry.Pos;
|
||||||
|
import javafx.scene.Scene;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.image.ImageView;
|
||||||
|
import javafx.scene.image.WritableImage;
|
||||||
|
import javafx.scene.input.*;
|
||||||
|
import javafx.scene.layout.*;
|
||||||
|
import javafx.scene.paint.Paint;
|
||||||
|
import javafx.stage.Stage;
|
||||||
|
import javafx.stage.StageStyle;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author : 芊芊墨客
|
||||||
|
* @version : 1.0
|
||||||
|
* @date : 2023-05-17 14:29
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
public class CapterScreenController {
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public Button bu;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public AnchorPane iv_root;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private ImageView iv; //切成的图片展示区域
|
||||||
|
|
||||||
|
private Stage primaryStage; //主舞台
|
||||||
|
private Stage stage; //切图时候的辅助舞台
|
||||||
|
private double start_x; //切图区域的起始位置x
|
||||||
|
private double start_y; //切图区域的起始位置y
|
||||||
|
private double w; //切图区域宽
|
||||||
|
private double h; //切图区域高
|
||||||
|
private HBox hBox; //切图区域
|
||||||
|
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void initialize() {
|
||||||
|
|
||||||
|
iv_root.setBorder(new Border(new BorderStroke(Paint.valueOf("#c03700"), BorderStrokeStyle.SOLID,
|
||||||
|
null, new BorderWidths(1))));
|
||||||
|
|
||||||
|
//为点击截图按钮绑定事件
|
||||||
|
bu.setOnAction(event -> {
|
||||||
|
show();
|
||||||
|
});
|
||||||
|
//绑定截图快捷键,使用快捷键达到点击按钮的目的
|
||||||
|
KeyCombination keyCombination = KeyCombination.valueOf("ctrl+alt+p");
|
||||||
|
|
||||||
|
// 处理快捷键事件
|
||||||
|
Runnable action = this::show;
|
||||||
|
|
||||||
|
bu.setOnKeyPressed(event -> {
|
||||||
|
if (keyCombination.match(event)) {
|
||||||
|
action.run();
|
||||||
|
event.consume();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 显示截图操作舞台并绑定鼠标截图事件
|
||||||
|
*/
|
||||||
|
public void show() {
|
||||||
|
|
||||||
|
this.primaryStage = (Stage) bu.getScene().getWindow();
|
||||||
|
|
||||||
|
//将主舞台缩放到任务栏
|
||||||
|
primaryStage.setIconified(true);
|
||||||
|
//创建辅助舞台,并设置场景与布局
|
||||||
|
stage = new Stage();
|
||||||
|
//锚点布局采用半透明
|
||||||
|
AnchorPane anchorPane = new AnchorPane();
|
||||||
|
anchorPane.setStyle("-fx-background-color: #85858522");
|
||||||
|
//场景设置白色全透明
|
||||||
|
Scene scene = new Scene(anchorPane);
|
||||||
|
scene.setFill(Paint.valueOf("#ffffff00"));
|
||||||
|
stage.setScene(scene);
|
||||||
|
//清楚全屏中间提示文字
|
||||||
|
stage.setFullScreenExitHint("");
|
||||||
|
stage.initStyle(StageStyle.TRANSPARENT);
|
||||||
|
stage.setFullScreen(true);
|
||||||
|
stage.show();
|
||||||
|
|
||||||
|
//切图窗口绑定鼠标按下事件
|
||||||
|
anchorPane.setOnMousePressed(event -> {
|
||||||
|
//清除锚点布局中所有子元素
|
||||||
|
anchorPane.getChildren().clear();
|
||||||
|
//创建切图区域
|
||||||
|
hBox = new HBox();
|
||||||
|
//设置背景保证能看到切图区域桌面
|
||||||
|
hBox.setBackground(null);
|
||||||
|
//设置边框
|
||||||
|
hBox.setBorder(new Border(new BorderStroke(Paint.valueOf("#c03700"), BorderStrokeStyle.SOLID,
|
||||||
|
null, new BorderWidths(1))));
|
||||||
|
anchorPane.getChildren().add(hBox);
|
||||||
|
//记录并设置起始位置
|
||||||
|
start_x = event.getSceneX();
|
||||||
|
start_y = event.getSceneY();
|
||||||
|
AnchorPane.setLeftAnchor(hBox, start_x);
|
||||||
|
AnchorPane.setTopAnchor(hBox, start_y);
|
||||||
|
});
|
||||||
|
//绑定鼠标按下拖拽的事件
|
||||||
|
anchorPane.setOnMouseDragged(event -> {
|
||||||
|
//用label记录切图区域的长宽
|
||||||
|
Label label = new Label();
|
||||||
|
label.setAlignment(Pos.CENTER);
|
||||||
|
label.setPrefHeight(30);
|
||||||
|
label.setPrefWidth(170);
|
||||||
|
anchorPane.getChildren().add(label);
|
||||||
|
AnchorPane.setLeftAnchor(label, start_x + 30);
|
||||||
|
AnchorPane.setTopAnchor(label, start_y);
|
||||||
|
label.setTextFill(Paint.valueOf("#ffffff"));//白色填充
|
||||||
|
label.setStyle("-fx-background-color: #000000");//黑背景
|
||||||
|
//计算宽高并且完成切图区域的动态效果
|
||||||
|
w = Math.abs(event.getSceneX() - start_x);
|
||||||
|
h = Math.abs(event.getSceneY() - start_y);
|
||||||
|
hBox.setPrefWidth(w);
|
||||||
|
hBox.setPrefHeight(h);
|
||||||
|
label.setText("宽:" + w + " 高:" + h);
|
||||||
|
});
|
||||||
|
|
||||||
|
//绑定鼠标松开事件
|
||||||
|
anchorPane.setOnMouseReleased(event -> {
|
||||||
|
//记录最终长宽
|
||||||
|
w = Math.abs(event.getSceneX() - start_x);
|
||||||
|
h = Math.abs(event.getSceneY() - start_y);
|
||||||
|
anchorPane.setStyle("-fx-background-color: #00000000");
|
||||||
|
//添加剪切按钮,并显示在切图区域的底部
|
||||||
|
Button b = new Button("剪切");
|
||||||
|
hBox.setBorder(new Border(new BorderStroke(Paint.valueOf("#85858544"), BorderStrokeStyle.SOLID,
|
||||||
|
null, new BorderWidths(1))));
|
||||||
|
|
||||||
|
//绑定截图快捷键,使用快捷键达到点击按钮的目的
|
||||||
|
KeyCombination keyCombination = new KeyCodeCombination(KeyCode.C, KeyCombination.CONTROL_DOWN);
|
||||||
|
Runnable action = () -> {
|
||||||
|
// 处理快捷键事件
|
||||||
|
//切图辅助舞台小时
|
||||||
|
stage.close();
|
||||||
|
try {
|
||||||
|
//切图具体方法
|
||||||
|
capterImg();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
//主舞台还原
|
||||||
|
primaryStage.setIconified(false);
|
||||||
|
};
|
||||||
|
b.setOnKeyPressed(e -> {
|
||||||
|
if (keyCombination.match(e)) {
|
||||||
|
action.run();
|
||||||
|
e.consume();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
hBox.getChildren().add(b);
|
||||||
|
hBox.setAlignment(Pos.BOTTOM_RIGHT);
|
||||||
|
//为切图按钮绑定切图事件
|
||||||
|
b.setOnAction(event1 -> {
|
||||||
|
//切图辅助舞台小时
|
||||||
|
stage.close();
|
||||||
|
try {
|
||||||
|
//切图具体方法
|
||||||
|
capterImg();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
//主舞台还原
|
||||||
|
primaryStage.setIconified(false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
scene.setOnKeyPressed(event -> {
|
||||||
|
if (event.getCode() == KeyCode.ESCAPE) {
|
||||||
|
stage.close();
|
||||||
|
primaryStage.setIconified(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 处理截屏与图像的保存
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public void capterImg() throws Exception {
|
||||||
|
//利用awt中的方法,通过记录的起始点和长宽完成屏幕截图
|
||||||
|
Robot robot = new Robot();
|
||||||
|
Rectangle re = new Rectangle((int) start_x, (int) start_y, (int) w, (int) h);
|
||||||
|
BufferedImage screenCapture = robot.createScreenCapture(re);
|
||||||
|
//截图图片背景透明处理
|
||||||
|
//BufferedImage bufferedImage = transferAlpha(screenCapture);
|
||||||
|
//不进行背景透明处理
|
||||||
|
//转换图片格式展示在主舞台的场景中
|
||||||
|
WritableImage writableImage = SwingFXUtils.toFXImage(screenCapture, null);
|
||||||
|
|
||||||
|
iv.setFitWidth(iv_root.getPrefWidth() + 150);
|
||||||
|
iv.setFitHeight(iv_root.getPrefHeight() + 120 );
|
||||||
|
|
||||||
|
iv.setImage(writableImage);
|
||||||
|
|
||||||
|
//将截图内容,放入系统剪切板
|
||||||
|
Clipboard cb = Clipboard.getSystemClipboard();
|
||||||
|
ClipboardContent content = new ClipboardContent();
|
||||||
|
content.putImage(writableImage);
|
||||||
|
cb.setContent(content);
|
||||||
|
|
||||||
|
//将截取图片放入到系统固定位置
|
||||||
|
ImageIO.write(screenCapture, "png", new File("E:/capter.png"));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 背景透明处理
|
||||||
|
*
|
||||||
|
* @param img
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static BufferedImage transferAlpha(BufferedImage img) {
|
||||||
|
BufferedImage bufferedImage = null;
|
||||||
|
try {
|
||||||
|
//取左上角点作为背景点
|
||||||
|
int RGB = img.getRGB(img.getMinX(), img.getMinY());
|
||||||
|
int R = (RGB & 0xff0000) >> 16;
|
||||||
|
int G = (RGB & 0xff00) >> 8;
|
||||||
|
int B = (RGB & 0xff);
|
||||||
|
bufferedImage = new BufferedImage(img.getWidth(), img.getHeight(), BufferedImage.TYPE_INT_ARGB);
|
||||||
|
for (int j1 = img.getMinY(); j1 < img.getHeight(); j1++) {
|
||||||
|
//遍历一行中的rgb三通道像素点,
|
||||||
|
for (int j2 = img.getMinX(); j2 < img.getWidth(); j2++) {
|
||||||
|
//获取固定点的rgb值
|
||||||
|
int rgb = img.getRGB(j2, j1);
|
||||||
|
int r = (rgb & 0xff0000) >> 16;
|
||||||
|
int g = (rgb & 0xff00) >> 8;
|
||||||
|
int b = (rgb & 0xff);
|
||||||
|
if ((Math.abs(r - R) < 15) && (Math.abs(g - G) < 15) && (Math.abs(b - B) < 15)) {
|
||||||
|
rgb = (1 << 24) | (rgb & 0x00ffffff);
|
||||||
|
}
|
||||||
|
//设置固定点的rgb值
|
||||||
|
bufferedImage.setRGB(j2, j1, rgb);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return bufferedImage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -564,26 +564,50 @@ public class CodecToolsController {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void jks_file_menu_item(ActionEvent event) {
|
public void jks_file_menu_item(ActionEvent event) {
|
||||||
|
load_encrypt(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void music_parser_menu_item(ActionEvent event) {
|
public void music_parser_menu_item(ActionEvent event) {
|
||||||
|
load_player(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void word_ocr_menu_item(ActionEvent event) {
|
public void word_ocr_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(11);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void bar_code_menu_item(ActionEvent event) {
|
public void bar_code_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(12);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void pdf_menu_item(ActionEvent event) {
|
public void pdf_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(13);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void batch_update_file_name_menu_item(ActionEvent event) {
|
public void batch_update_file_name_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(14);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void capter_screen_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(15);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void json_javabean_gen_menu_item(ActionEvent event) {
|
||||||
|
load_sql_tools(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void socket_client_aio_menu_item(ActionEvent event) {
|
||||||
|
load_server_tools(4);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void socket_server_aio_menu_item(ActionEvent event) {
|
||||||
|
load_server_tools(5);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void socket_server_nio_menu_item(ActionEvent event) {
|
||||||
|
load_server_tools(6);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void socket_client_nio_menu_item(ActionEvent event) {
|
||||||
|
load_server_tools(7);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -562,4 +562,8 @@ public class HomeController implements Serializable {
|
||||||
public void socket_client_nio_menu_item(ActionEvent event) {
|
public void socket_client_nio_menu_item(ActionEvent event) {
|
||||||
load_server_tools(7);
|
load_server_tools(7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void capter_screen_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(14);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -498,4 +498,32 @@ public class HttpToolsController {
|
||||||
public void maven_jar_install_menu_item(ActionEvent event) {
|
public void maven_jar_install_menu_item(ActionEvent event) {
|
||||||
load_small_tools(10);
|
load_small_tools(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void jks_file_menu_item(ActionEvent event) {
|
||||||
|
load_encrypt(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void music_parser_menu_item(ActionEvent event) {
|
||||||
|
load_player(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void word_ocr_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(11);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void bar_code_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(12);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void pdf_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(13);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void batch_update_file_name_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(14);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void capter_screen_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(15);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -430,4 +430,32 @@ public class NetWorkToolsController {
|
||||||
public void maven_jar_install_menu_item(ActionEvent event) {
|
public void maven_jar_install_menu_item(ActionEvent event) {
|
||||||
load_small_tools(10);
|
load_small_tools(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void jks_file_menu_item(ActionEvent event) {
|
||||||
|
load_encrypt_tools(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void music_parser_menu_item(ActionEvent event) {
|
||||||
|
load_player(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void word_ocr_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(11);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void bar_code_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(12);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void pdf_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(13);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void batch_update_file_name_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(14);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void capter_screen_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(15);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,7 @@ public class SmallToolsController {
|
||||||
private AnchorPane bar_code;
|
private AnchorPane bar_code;
|
||||||
private AnchorPane pdf_ocr;
|
private AnchorPane pdf_ocr;
|
||||||
private AnchorPane batch_update_file_name;
|
private AnchorPane batch_update_file_name;
|
||||||
|
private AnchorPane capter_screen;
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private ListView<ResourcesUtils.SmallTools> listView;
|
private ListView<ResourcesUtils.SmallTools> listView;
|
||||||
|
|
@ -394,6 +395,20 @@ public class SmallToolsController {
|
||||||
}
|
}
|
||||||
pdf_ocr(flag);
|
pdf_ocr(flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (newValue.getIndex() == 14) {
|
||||||
|
if (batch_update_file_name != null) {
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
batch_update_file_name(flag);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newValue.getIndex() == 15) {
|
||||||
|
if (capter_screen != null) {
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
capter_screen(flag);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -418,6 +433,7 @@ public class SmallToolsController {
|
||||||
case Bar_Code -> new Image(ImagePath.path(ImagePath.ImagePathType.Qr_CODE));
|
case Bar_Code -> new Image(ImagePath.path(ImagePath.ImagePathType.Qr_CODE));
|
||||||
case Pdf_Ocr -> new Image(ImagePath.path(ImagePath.ImagePathType.Qr_CODE));
|
case Pdf_Ocr -> new Image(ImagePath.path(ImagePath.ImagePathType.Qr_CODE));
|
||||||
case BatchUpdateFileName -> new Image(ImagePath.path(ImagePath.ImagePathType.Qr_CODE));
|
case BatchUpdateFileName -> new Image(ImagePath.path(ImagePath.ImagePathType.Qr_CODE));
|
||||||
|
case Capter_Screent -> new Image(ImagePath.path(ImagePath.ImagePathType.Qr_CODE));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -734,6 +750,22 @@ public class SmallToolsController {
|
||||||
common_method();
|
common_method();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void capter_screen(boolean flag){
|
||||||
|
//默认选择第一个
|
||||||
|
listView.getSelectionModel().select(15);
|
||||||
|
|
||||||
|
if (!flag) {
|
||||||
|
try {
|
||||||
|
root = FXMLLoader.load(ResourcesUtils.getResource("capter-screen"));
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
batch_update_file_name = root;
|
||||||
|
} else {
|
||||||
|
root = batch_update_file_name;
|
||||||
|
}
|
||||||
|
common_method();
|
||||||
|
}
|
||||||
|
|
||||||
private void common_method() {
|
private void common_method() {
|
||||||
splitPane.getItems().remove(1);
|
splitPane.getItems().remove(1);
|
||||||
|
|
@ -910,4 +942,40 @@ public class SmallToolsController {
|
||||||
}
|
}
|
||||||
pdf_ocr(flag);
|
pdf_ocr(flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void capter_screen_menu_item(ActionEvent event) {
|
||||||
|
boolean flag = false;
|
||||||
|
if (capter_screen != null){
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
capter_screen(flag);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void jks_file_menu_item(ActionEvent event) {
|
||||||
|
load_encrypt(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void music_parser_menu_item(ActionEvent event) {
|
||||||
|
load_player(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void json_javabean_gen_menu_item(ActionEvent event) {
|
||||||
|
load_mysql_tools(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void socket_client_aio_menu_item(ActionEvent event) {
|
||||||
|
load_server_tools(4);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void socket_server_aio_menu_item(ActionEvent event) {
|
||||||
|
load_server_tools(5);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void socket_server_nio_menu_item(ActionEvent event) {
|
||||||
|
load_server_tools(6);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void socket_client_nio_menu_item(ActionEvent event) {
|
||||||
|
load_server_tools(7);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -506,4 +506,48 @@ public class SqlToolsController {
|
||||||
public void spring_security_menu_item(ActionEvent event) {
|
public void spring_security_menu_item(ActionEvent event) {
|
||||||
load_codec_tools(1);
|
load_codec_tools(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void jks_file_menu_item(ActionEvent event) {
|
||||||
|
load_codec_tools(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void music_parser_menu_item(ActionEvent event) {
|
||||||
|
load_player(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void word_ocr_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(11);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void bar_code_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(12);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void pdf_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(13);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void batch_update_file_name_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(14);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void capter_screen_menu_item(ActionEvent event) {
|
||||||
|
load_small_tools(15);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void socket_client_aio_menu_item(ActionEvent event) {
|
||||||
|
load_server_tools(4);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void socket_server_aio_menu_item(ActionEvent event) {
|
||||||
|
load_server_tools(5);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void socket_server_nio_menu_item(ActionEvent event) {
|
||||||
|
load_server_tools(6);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void socket_client_nio_menu_item(ActionEvent event) {
|
||||||
|
load_server_tools(7);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,7 @@ public class ResourcesUtils {
|
||||||
Bar_Code("条形码识别", 12),
|
Bar_Code("条形码识别", 12),
|
||||||
Pdf_Ocr("pdf识别", 13),
|
Pdf_Ocr("pdf识别", 13),
|
||||||
BatchUpdateFileName("批量修改文件名", 14),
|
BatchUpdateFileName("批量修改文件名", 14),
|
||||||
|
Capter_Screent("截图", 15),
|
||||||
;
|
;
|
||||||
|
|
||||||
SmallTools(String title, int index) {
|
SmallTools(String title, int index) {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import javafx.scene.control.Button?>
|
||||||
|
<?import javafx.scene.image.ImageView?>
|
||||||
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
|
|
||||||
|
<AnchorPane prefHeight="649.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.zhangmeng.tools.controller.CapterScreenController">
|
||||||
|
<children>
|
||||||
|
<Button fx:id="bu" layoutX="1117.0" layoutY="604.0" mnemonicParsing="false" text="点击截屏" AnchorPane.bottomAnchor="20.0" AnchorPane.rightAnchor="19.0" />
|
||||||
|
<AnchorPane fx:id="iv_root" prefHeight="649.0" prefWidth="1200.0" AnchorPane.bottomAnchor="59.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
|
<children>
|
||||||
|
<ImageView fx:id="iv" fitHeight="590.0" fitWidth="1200.0" pickOnBounds="true" />
|
||||||
|
</children>
|
||||||
|
</AnchorPane>
|
||||||
|
</children>
|
||||||
|
</AnchorPane>
|
||||||
|
|
@ -45,6 +45,7 @@
|
||||||
<MenuItem mnemonicParsing="false" text="条形码识别" onAction="#bar_code_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="条形码识别" onAction="#bar_code_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="pdf识别" onAction="#pdf_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="pdf识别" onAction="#pdf_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="批量修改文件名" onAction="#batch_update_file_name_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="批量修改文件名" onAction="#batch_update_file_name_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="截图工具" onAction="#capter_screen_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@
|
||||||
<MenuItem mnemonicParsing="false" text="条形码识别" onAction="#bar_code_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="条形码识别" onAction="#bar_code_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="pdf识别" onAction="#pdf_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="pdf识别" onAction="#pdf_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="批量修改文件名" onAction="#batch_update_file_name_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="批量修改文件名" onAction="#batch_update_file_name_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="截图工具" onAction="#capter_screen_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,9 @@
|
||||||
<Menu mnemonicParsing="false" text="加密工具">
|
<Menu mnemonicParsing="false" text="加密工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#md5_menu_item" text="md5 加密"/>
|
<MenuItem mnemonicParsing="false" onAction="#md5_menu_item" text="md5 加密"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#spring_security_menu_item"
|
<MenuItem mnemonicParsing="false" onAction="#spring_security_menu_item" text="spring security 加密"/>
|
||||||
text="spring security 加密"/>
|
<MenuItem mnemonicParsing="false" onAction="#jks_file_menu_item" text="jkd 文件生成"/>
|
||||||
|
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
<Menu mnemonicParsing="false" text="影音工具">
|
<Menu mnemonicParsing="false" text="影音工具">
|
||||||
|
|
@ -26,6 +27,7 @@
|
||||||
<MenuItem mnemonicParsing="false" text="视频播放" onAction="#video_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="视频播放" onAction="#video_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="音乐播放" onAction="#music_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="音乐播放" onAction="#music_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="vip 视频解析" onAction="#vip_parser_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="vip 视频解析" onAction="#vip_parser_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="音乐解析" onAction="#music_parser_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
<Menu mnemonicParsing="false" text="常用小工具">
|
<Menu mnemonicParsing="false" text="常用小工具">
|
||||||
|
|
@ -41,6 +43,11 @@
|
||||||
<MenuItem mnemonicParsing="false" text="手机号工具" onAction="#telephone_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="手机号工具" onAction="#telephone_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="JsonView" onAction="#JsonView_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="JsonView" onAction="#JsonView_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="maven-jar-install" onAction="#maven_jar_install_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="maven-jar-install" onAction="#maven_jar_install_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="word-ocr" onAction="#word_ocr_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="条形码识别" onAction="#bar_code_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="pdf识别" onAction="#pdf_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="批量修改文件名" onAction="#batch_update_file_name_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="截图工具" onAction="#capter_screen_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
|
|
@ -53,10 +60,11 @@
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
<Menu mnemonicParsing="false" text="sql工具">
|
<Menu mnemonicParsing="false" text="代码工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" text="mysql代码生成" onAction="#sql_code_gen_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="mysql代码生成" onAction="#sql_code_gen_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="mybatis-plus 代码生成" onAction="#mybatis_plus_gen_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="mybatis-plus 代码生成" onAction="#mybatis_plus_gen_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="json转javaBean 代码生成" onAction="#json_javabean_gen_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
|
|
@ -72,8 +80,12 @@
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" text="http-server 请求工具" onAction="#http_server_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="http-server 请求工具" onAction="#http_server_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="ftp-server 请求工具" onAction="#ftp_server_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="ftp-server 请求工具" onAction="#ftp_server_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="ssh-client 连接工具" onAction="#ssh_client_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="ssh-client 请求工具" onAction="#ssh_client_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="socket-server 服务工具" onAction="#socket_server_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="socket-server 服务工具" onAction="#socket_server_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-client-aio 客户端工具" onAction="#socket_client_aio_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-server-aio 服务端工具" onAction="#socket_server_aio_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-server-nio 服务端工具" onAction="#socket_server_nio_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-client-nio 客户端工具" onAction="#socket_client_nio_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
</menus>
|
</menus>
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,9 @@
|
||||||
<Menu mnemonicParsing="false" text="加密工具">
|
<Menu mnemonicParsing="false" text="加密工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#md5_menu_item" text="md5 加密"/>
|
<MenuItem mnemonicParsing="false" onAction="#md5_menu_item" text="md5 加密"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#spring_security_menu_item"
|
<MenuItem mnemonicParsing="false" onAction="#spring_security_menu_item" text="spring security 加密"/>
|
||||||
text="spring security 加密"/>
|
<MenuItem mnemonicParsing="false" onAction="#jks_file_menu_item" text="jkd 文件生成"/>
|
||||||
|
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
<Menu mnemonicParsing="false" text="影音工具">
|
<Menu mnemonicParsing="false" text="影音工具">
|
||||||
|
|
@ -26,6 +27,7 @@
|
||||||
<MenuItem mnemonicParsing="false" text="视频播放" onAction="#video_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="视频播放" onAction="#video_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="音乐播放" onAction="#music_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="音乐播放" onAction="#music_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="vip 视频解析" onAction="#vip_parser_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="vip 视频解析" onAction="#vip_parser_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="音乐解析" onAction="#music_parser_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
<Menu mnemonicParsing="false" text="常用小工具">
|
<Menu mnemonicParsing="false" text="常用小工具">
|
||||||
|
|
@ -41,6 +43,11 @@
|
||||||
<MenuItem mnemonicParsing="false" text="手机号工具" onAction="#telephone_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="手机号工具" onAction="#telephone_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="JsonView" onAction="#JsonView_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="JsonView" onAction="#JsonView_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="maven-jar-install" onAction="#maven_jar_install_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="maven-jar-install" onAction="#maven_jar_install_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="word-ocr" onAction="#word_ocr_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="条形码识别" onAction="#bar_code_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="pdf识别" onAction="#pdf_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="批量修改文件名" onAction="#batch_update_file_name_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="截图工具" onAction="#capter_screen_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
|
|
@ -53,9 +60,11 @@
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
<Menu mnemonicParsing="false" text="sql工具">
|
<Menu mnemonicParsing="false" text="代码工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" text="mysql代码生成" onAction="#sql_code_gen_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="mysql代码生成" onAction="#sql_code_gen_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="mybatis-plus 代码生成" onAction="#mybatis_plus_gen_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="json转javaBean 代码生成" onAction="#json_javabean_gen_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
|
|
@ -73,6 +82,10 @@
|
||||||
<MenuItem mnemonicParsing="false" text="ftp-server 请求工具" onAction="#ftp_server_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="ftp-server 请求工具" onAction="#ftp_server_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="ssh-client 请求工具" onAction="#ssh_client_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="ssh-client 请求工具" onAction="#ssh_client_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="socket-server 服务工具" onAction="#socket_server_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="socket-server 服务工具" onAction="#socket_server_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-client-aio 客户端工具" onAction="#socket_client_aio_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-server-aio 服务端工具" onAction="#socket_server_aio_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-server-nio 服务端工具" onAction="#socket_server_nio_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-client-nio 客户端工具" onAction="#socket_client_nio_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
</menus>
|
</menus>
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,9 @@
|
||||||
<Menu mnemonicParsing="false" text="加密工具">
|
<Menu mnemonicParsing="false" text="加密工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#md5_menu_item" text="md5 加密"/>
|
<MenuItem mnemonicParsing="false" onAction="#md5_menu_item" text="md5 加密"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#spring_security_menu_item"
|
<MenuItem mnemonicParsing="false" onAction="#spring_security_menu_item" text="spring security 加密"/>
|
||||||
text="spring security 加密"/>
|
<MenuItem mnemonicParsing="false" onAction="#jks_file_menu_item" text="jkd 文件生成"/>
|
||||||
|
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
<Menu mnemonicParsing="false" text="影音工具">
|
<Menu mnemonicParsing="false" text="影音工具">
|
||||||
|
|
@ -24,6 +25,7 @@
|
||||||
<MenuItem mnemonicParsing="false" text="视频播放" onAction="#video_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="视频播放" onAction="#video_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="音乐播放" onAction="#music_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="音乐播放" onAction="#music_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="vip 视频解析" onAction="#vip_parser_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="vip 视频解析" onAction="#vip_parser_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="音乐解析" onAction="#music_parser_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
<Menu mnemonicParsing="false" text="常用小工具">
|
<Menu mnemonicParsing="false" text="常用小工具">
|
||||||
|
|
@ -43,6 +45,7 @@
|
||||||
<MenuItem mnemonicParsing="false" text="条形码识别" onAction="#bar_code_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="条形码识别" onAction="#bar_code_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="pdf识别" onAction="#pdf_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="pdf识别" onAction="#pdf_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="批量修改文件名" onAction="#batch_update_file_name_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="批量修改文件名" onAction="#batch_update_file_name_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="截图工具" onAction="#capter_screen_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
|
|
@ -55,10 +58,11 @@
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
<Menu mnemonicParsing="false" text="sql工具">
|
<Menu mnemonicParsing="false" text="代码工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" text="mysql代码生成" onAction="#sql_code_gen_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="mysql代码生成" onAction="#sql_code_gen_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="mybatis-plus 代码生成" onAction="#mybatis_plus_gen_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="mybatis-plus 代码生成" onAction="#mybatis_plus_gen_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="json转javaBean 代码生成" onAction="#json_javabean_gen_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
|
|
@ -74,8 +78,12 @@
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" text="http-server 请求工具" onAction="#http_server_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="http-server 请求工具" onAction="#http_server_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="ftp-server 请求工具" onAction="#ftp_server_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="ftp-server 请求工具" onAction="#ftp_server_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="ssh-client 连接工具" onAction="#ssh_client_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="ssh-client 请求工具" onAction="#ssh_client_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="socket-server 服务工具" onAction="#socket_server_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="socket-server 服务工具" onAction="#socket_server_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-client-aio 客户端工具" onAction="#socket_client_aio_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-server-aio 服务端工具" onAction="#socket_server_aio_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-server-nio 服务端工具" onAction="#socket_server_nio_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-client-nio 客户端工具" onAction="#socket_client_nio_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
</menus>
|
</menus>
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,8 @@
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#md5_menu_item" text="md5 加密"/>
|
<MenuItem mnemonicParsing="false" onAction="#md5_menu_item" text="md5 加密"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#spring_security_menu_item" text="spring security 加密"/>
|
<MenuItem mnemonicParsing="false" onAction="#spring_security_menu_item" text="spring security 加密"/>
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#jks_file_menu_item" text="jkd 文件生成"/>
|
||||||
|
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
<Menu mnemonicParsing="false" text="影音工具">
|
<Menu mnemonicParsing="false" text="影音工具">
|
||||||
|
|
@ -25,6 +27,7 @@
|
||||||
<MenuItem mnemonicParsing="false" text="视频播放" onAction="#video_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="视频播放" onAction="#video_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="音乐播放" onAction="#music_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="音乐播放" onAction="#music_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="vip 视频解析" onAction="#vip_parser_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="vip 视频解析" onAction="#vip_parser_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="音乐解析" onAction="#music_parser_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
<Menu mnemonicParsing="false" text="常用小工具">
|
<Menu mnemonicParsing="false" text="常用小工具">
|
||||||
|
|
@ -40,6 +43,11 @@
|
||||||
<MenuItem mnemonicParsing="false" text="手机号工具" onAction="#telephone_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="手机号工具" onAction="#telephone_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="JsonView" onAction="#JsonView_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="JsonView" onAction="#JsonView_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="maven-jar-install" onAction="#maven_jar_install_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="maven-jar-install" onAction="#maven_jar_install_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="word-ocr" onAction="#word_ocr_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="条形码识别" onAction="#bar_code_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="pdf识别" onAction="#pdf_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="批量修改文件名" onAction="#batch_update_file_name_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="截图工具" onAction="#capter_screen_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
|
|
@ -74,6 +82,10 @@
|
||||||
<MenuItem mnemonicParsing="false" text="ftp-server 请求工具" onAction="#ftp_server_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="ftp-server 请求工具" onAction="#ftp_server_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="ssh-client 请求工具" onAction="#ssh_client_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="ssh-client 请求工具" onAction="#ssh_client_menu_item"/>
|
||||||
<MenuItem mnemonicParsing="false" text="socket-server 服务工具" onAction="#socket_server_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="socket-server 服务工具" onAction="#socket_server_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-client-aio 客户端工具" onAction="#socket_client_aio_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-server-aio 服务端工具" onAction="#socket_server_aio_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-server-nio 服务端工具" onAction="#socket_server_nio_menu_item"/>
|
||||||
|
<MenuItem mnemonicParsing="false" text="socket-client-nio 客户端工具" onAction="#socket_client_nio_menu_item"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
</menus>
|
</menus>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue