2023年11月18日17:35:40
parent
55825ab510
commit
8b426d1920
|
|
@ -5,12 +5,15 @@ import javafx.embed.swing.SwingNode;
|
||||||
import javafx.scene.layout.AnchorPane;
|
import javafx.scene.layout.AnchorPane;
|
||||||
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
||||||
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
|
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
|
||||||
|
import org.fife.ui.rsyntaxtextarea.Theme;
|
||||||
import org.fife.ui.rtextarea.RTextScrollPane;
|
import org.fife.ui.rtextarea.RTextScrollPane;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.event.CaretEvent;
|
import javax.swing.event.CaretEvent;
|
||||||
import javax.swing.event.CaretListener;
|
import javax.swing.event.CaretListener;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
|
||||||
public class RxEditer extends AnchorPane{
|
public class RxEditer extends AnchorPane{
|
||||||
private final SimpleIntegerProperty line = new SimpleIntegerProperty();
|
private final SimpleIntegerProperty line = new SimpleIntegerProperty();
|
||||||
|
|
@ -30,36 +33,59 @@ public class RxEditer extends AnchorPane{
|
||||||
textArea.setFont(font);
|
textArea.setFont(font);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//选择全部
|
||||||
|
public void selectAll(){
|
||||||
|
textArea.selectAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void changeStyleViaThemeXml(String them_name) {
|
||||||
|
try {
|
||||||
|
Theme theme = Theme.load(getClass().getResourceAsStream(
|
||||||
|
"/org/fife/ui/rsyntaxtextarea/themes/" + them_name + ".xml"));
|
||||||
|
theme.apply(textArea);
|
||||||
|
} catch (IOException ioe) { // Never happens
|
||||||
|
ioe.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTheme(String them_name){
|
||||||
|
changeStyleViaThemeXml(them_name);
|
||||||
|
}
|
||||||
|
|
||||||
public RxEditer(String style) {
|
public RxEditer(String style) {
|
||||||
SwingNode sn = new SwingNode();
|
SwingNode sn = new SwingNode();
|
||||||
new Thread(()->{
|
new Thread(()->{
|
||||||
SwingUtilities.invokeLater(() -> {
|
try {
|
||||||
textArea.setEditable(true);//编辑器
|
SwingUtilities.invokeAndWait(() -> {
|
||||||
if (style == null || style.equals("")) {
|
textArea.setEditable(true);//编辑器
|
||||||
textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);//java
|
if (style == null || style.equals("")) {
|
||||||
}else {
|
textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);//java
|
||||||
textArea.setSyntaxEditingStyle(style);
|
}else {
|
||||||
}
|
textArea.setSyntaxEditingStyle(style);
|
||||||
textArea.setCodeFoldingEnabled(true);//折叠代码
|
|
||||||
textArea.addCaretListener(e -> {
|
|
||||||
JTextArea editArea = (JTextArea) e.getSource();
|
|
||||||
int linenum = 1;
|
|
||||||
int columnnum = 1;
|
|
||||||
try {
|
|
||||||
int caretpos = editArea.getCaretPosition();
|
|
||||||
linenum = editArea.getLineOfOffset(caretpos);
|
|
||||||
columnnum = caretpos - editArea.getLineStartOffset(linenum);
|
|
||||||
linenum += 1;
|
|
||||||
columnnum += 1;
|
|
||||||
} catch (Exception ex) {
|
|
||||||
ex.printStackTrace();
|
|
||||||
}
|
}
|
||||||
line.setValue(linenum);
|
textArea.setCodeFoldingEnabled(true);//折叠代码
|
||||||
column.setValue(columnnum);
|
textArea.addCaretListener(e -> {
|
||||||
|
JTextArea editArea = (JTextArea) e.getSource();
|
||||||
|
int linenum = 1;
|
||||||
|
int columnnum = 1;
|
||||||
|
try {
|
||||||
|
int caretpos = editArea.getCaretPosition();
|
||||||
|
linenum = editArea.getLineOfOffset(caretpos);
|
||||||
|
columnnum = caretpos - editArea.getLineStartOffset(linenum);
|
||||||
|
linenum += 1;
|
||||||
|
columnnum += 1;
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
line.setValue(linenum);
|
||||||
|
column.setValue(columnnum);
|
||||||
|
});
|
||||||
|
RTextScrollPane sp = new RTextScrollPane(textArea);
|
||||||
|
sn.setContent(sp);
|
||||||
});
|
});
|
||||||
RTextScrollPane sp = new RTextScrollPane(textArea);
|
} catch (InterruptedException | InvocationTargetException e) {
|
||||||
sn.setContent(sp);
|
throw new RuntimeException(e);
|
||||||
});
|
}
|
||||||
}).start();
|
}).start();
|
||||||
getChildren().add(sn);
|
getChildren().add(sn);
|
||||||
setTopAnchor(sn, 0.0);
|
setTopAnchor(sn, 0.0);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.zhangmeng.tools.controller;
|
package com.zhangmeng.tools.controller;
|
||||||
|
|
||||||
import com.sun.javafx.PlatformUtil;
|
import com.sun.javafx.PlatformUtil;
|
||||||
|
import com.zhangmeng.tools.components.JFontDialog;
|
||||||
import com.zhangmeng.tools.components.RecursiveFileList;
|
import com.zhangmeng.tools.components.RecursiveFileList;
|
||||||
import com.zhangmeng.tools.components.RxEditer;
|
import com.zhangmeng.tools.components.RxEditer;
|
||||||
import com.zhangmeng.tools.dto.FileTreeView;
|
import com.zhangmeng.tools.dto.FileTreeView;
|
||||||
|
|
@ -19,6 +20,8 @@ import javafx.beans.value.ChangeListener;
|
||||||
import javafx.beans.value.ObservableValue;
|
import javafx.beans.value.ObservableValue;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
|
import javafx.embed.swing.SwingFXUtils;
|
||||||
|
import javafx.embed.swing.SwingNode;
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.event.Event;
|
import javafx.event.Event;
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
||||||
|
|
@ -51,9 +54,11 @@ import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
|
||||||
import org.fxmisc.flowless.VirtualizedScrollPane;
|
import org.fxmisc.flowless.VirtualizedScrollPane;
|
||||||
import org.fxmisc.richtext.CodeArea;
|
import org.fxmisc.richtext.CodeArea;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
|
|
@ -83,6 +88,8 @@ public class EditorListImplController {
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
public MenuItem new_file;
|
public MenuItem new_file;
|
||||||
|
public Menu font_item;
|
||||||
|
|
||||||
|
|
||||||
public void swing_menu_item(ActionEvent actionEvent) {
|
public void swing_menu_item(ActionEvent actionEvent) {
|
||||||
editer_index.setValue(1);
|
editer_index.setValue(1);
|
||||||
|
|
@ -109,7 +116,7 @@ public class EditorListImplController {
|
||||||
private CodeMirrWebView codemirror;
|
private CodeMirrWebView codemirror;
|
||||||
private AnchorPane timiFx;
|
private AnchorPane timiFx;
|
||||||
|
|
||||||
private AnchorPane swingEditor;
|
private RxEditer swingEditor;
|
||||||
|
|
||||||
private SimpleObjectProperty<File> choose_file = new SimpleObjectProperty<>(null);
|
private SimpleObjectProperty<File> choose_file = new SimpleObjectProperty<>(null);
|
||||||
private SimpleObjectProperty<AceTheme> choose_them = new SimpleObjectProperty<>(null);
|
private SimpleObjectProperty<AceTheme> choose_them = new SimpleObjectProperty<>(null);
|
||||||
|
|
@ -406,39 +413,94 @@ public class EditorListImplController {
|
||||||
// });
|
// });
|
||||||
// them_list.getItems().add(menuItem);
|
// them_list.getItems().add(menuItem);
|
||||||
// }
|
// }
|
||||||
ListView<String> listView = new ListView<>();
|
|
||||||
|
|
||||||
ObservableList<String> objects = FXCollections.observableArrayList();
|
if (editer_index.getValue()==null || editer_index.getValue() == 0){
|
||||||
for (AceTheme value : AceTheme.values()) {
|
|
||||||
String them_string = value.toString();
|
ListView<String> listView = new ListView<>();
|
||||||
objects.add(them_string);
|
|
||||||
|
ObservableList<String> objects = FXCollections.observableArrayList();
|
||||||
|
for (AceTheme value : AceTheme.values()) {
|
||||||
|
String them_string = value.toString();
|
||||||
|
objects.add(them_string);
|
||||||
|
}
|
||||||
|
listView.setItems(objects);
|
||||||
|
|
||||||
|
listView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
|
||||||
|
@Override
|
||||||
|
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
|
||||||
|
if (newValue!= null){
|
||||||
|
if (tabPane.getSelectionModel().getSelectedItem() == null){
|
||||||
|
choose_them.setValue(AceTheme.valueOf(newValue));
|
||||||
|
AlertUtils.alert_warning("主题选择成功!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
AceEditor aceEditor = (AceEditor) tabPane.getSelectionModel().getSelectedItem().getContent();
|
||||||
|
aceEditor.setAceTheme(AceTheme.valueOf(newValue));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
MenuItem menuItem = new MenuItem("设置主题");
|
||||||
|
them_list.getItems().add(menuItem);
|
||||||
|
menuItem.setOnAction(event -> {
|
||||||
|
AnchorPane them_choose = new AnchorPane();
|
||||||
|
them_choose.setPrefWidth(200);
|
||||||
|
them_choose.setPrefHeight(400);
|
||||||
|
them_choose.getChildren().add(listView);
|
||||||
|
Stage primaryStage = (Stage) EditorListImplController.this.splitPane.getScene().getWindow();
|
||||||
|
AlertUtils.alert("设置", them_choose,200,400, primaryStage);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
listView.setItems(objects);
|
|
||||||
|
|
||||||
listView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
|
if (editer_index.getValue() == 1){
|
||||||
@Override
|
|
||||||
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
|
ListView<String> listView = new ListView<>();
|
||||||
|
|
||||||
|
ObservableList<String> objects = FXCollections.observableArrayList();
|
||||||
|
objects.add("dark");
|
||||||
|
objects.add("default");
|
||||||
|
objects.add("default-alt");
|
||||||
|
objects.add("druid");
|
||||||
|
objects.add("eclipse");
|
||||||
|
objects.add("idea");
|
||||||
|
objects.add("monokai");
|
||||||
|
objects.add("theme");
|
||||||
|
objects.add("vs");
|
||||||
|
listView.setItems(objects);
|
||||||
|
|
||||||
|
listView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
|
||||||
if (newValue!= null){
|
if (newValue!= null){
|
||||||
if (tabPane.getSelectionModel().getSelectedItem() == null){
|
if (tabPane.getSelectionModel().getSelectedItem() == null){
|
||||||
choose_them.setValue(AceTheme.valueOf(newValue));
|
//choose_them.setValue(newValue);
|
||||||
AlertUtils.alert_warning("主题选择成功!");
|
AlertUtils.alert_warning("主题选择成功!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
AceEditor aceEditor = (AceEditor) tabPane.getSelectionModel().getSelectedItem().getContent();
|
RxEditer aceEditor = (RxEditer) tabPane.getSelectionModel().getSelectedItem().getContent();
|
||||||
aceEditor.setAceTheme(AceTheme.valueOf(newValue));
|
aceEditor.setTheme(newValue);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
});
|
|
||||||
MenuItem menuItem = new MenuItem("设置主题");
|
MenuItem menuItem = new MenuItem("设置主题");
|
||||||
them_list.getItems().add(menuItem);
|
them_list.getItems().add(menuItem);
|
||||||
menuItem.setOnAction(event -> {
|
menuItem.setOnAction(event -> {
|
||||||
AnchorPane them_choose = new AnchorPane();
|
AnchorPane them_choose = new AnchorPane();
|
||||||
them_choose.setPrefWidth(200);
|
them_choose.setPrefWidth(200);
|
||||||
them_choose.setPrefHeight(400);
|
them_choose.setPrefHeight(400);
|
||||||
them_choose.getChildren().add(listView);
|
them_choose.getChildren().add(listView);
|
||||||
Stage primaryStage = (Stage) EditorListImplController.this.splitPane.getScene().getWindow();
|
Stage primaryStage = (Stage) EditorListImplController.this.splitPane.getScene().getWindow();
|
||||||
AlertUtils.alert("设置", them_choose,200,400, primaryStage);
|
AlertUtils.alert("设置", them_choose,200,400, primaryStage);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// SwingNode swingNode = new SwingNode();
|
||||||
|
// try {
|
||||||
|
// SwingUtilities.invokeAndWait(()->{
|
||||||
|
// JFontDialog jFontDialog = new JFontDialog();
|
||||||
|
// swingNode.setContent(jFontDialog);
|
||||||
|
// });
|
||||||
|
// } catch (InterruptedException | InvocationTargetException e) {
|
||||||
|
// throw new RuntimeException(e);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
File file = null;
|
File file = null;
|
||||||
FileTreeView fileTreeView = new FileTreeView(file);
|
FileTreeView fileTreeView = new FileTreeView(file);
|
||||||
|
|
|
||||||
|
|
@ -10,144 +10,168 @@
|
||||||
<?import javafx.scene.control.CustomMenuItem?>
|
<?import javafx.scene.control.CustomMenuItem?>
|
||||||
<?import javafx.scene.control.ComboBox?>
|
<?import javafx.scene.control.ComboBox?>
|
||||||
<?import java.lang.String?>
|
<?import java.lang.String?>
|
||||||
<AnchorPane prefHeight="800.0" prefWidth="1661.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.zhangmeng.tools.controller.EditorListImplController">
|
<AnchorPane prefHeight="800.0" prefWidth="1661.0" xmlns="http://javafx.com/javafx/19"
|
||||||
|
xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.zhangmeng.tools.controller.EditorListImplController">
|
||||||
<children>
|
<children>
|
||||||
<MenuBar layoutX="14.0" layoutY="27.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
<MenuBar layoutX="14.0" layoutY="27.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0"
|
||||||
|
AnchorPane.topAnchor="0.0">
|
||||||
<menus>
|
<menus>
|
||||||
<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" text="spring security 加密" />
|
<MenuItem mnemonicParsing="false" onAction="#spring_security_menu_item"
|
||||||
<MenuItem mnemonicParsing="false" onAction="#jks_file_menu_item" text="jkd 文件生成" />
|
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="影音工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#video_menu_item" text="视频播放" />
|
<MenuItem mnemonicParsing="false" onAction="#video_menu_item" text="视频播放"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#music_menu_item" text="音乐播放" />
|
<MenuItem mnemonicParsing="false" onAction="#music_menu_item" text="音乐播放"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#vip_parser_menu_item" text="vip 视频解析" />
|
<MenuItem mnemonicParsing="false" onAction="#vip_parser_menu_item" text="vip 视频解析"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#music_parser_menu_item" text="音乐解析" />
|
<MenuItem mnemonicParsing="false" onAction="#music_parser_menu_item" text="音乐解析"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#video_transcoder_menu_item" text="视频转码" />
|
<MenuItem mnemonicParsing="false" onAction="#video_transcoder_menu_item" text="视频转码"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
<Menu mnemonicParsing="false" text="常用小工具">
|
<Menu mnemonicParsing="false" text="常用小工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#hex_16_menu_item" text="16进制(Hex)" />
|
<MenuItem mnemonicParsing="false" onAction="#hex_16_menu_item" text="16进制(Hex)"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#unicode_menu_item" text="Unicode和字符串转换" />
|
<MenuItem mnemonicParsing="false" onAction="#unicode_menu_item" text="Unicode和字符串转换"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#jwt_menu_item" text="jwt工具" />
|
<MenuItem mnemonicParsing="false" onAction="#jwt_menu_item" text="jwt工具"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#color_choose_menu_item" text="颜色选择工具" />
|
<MenuItem mnemonicParsing="false" onAction="#color_choose_menu_item" text="颜色选择工具"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#qr_code_menu_item" text="二维码生成" />
|
<MenuItem mnemonicParsing="false" onAction="#qr_code_menu_item" text="二维码生成"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#date_query_menu_item" text="时间工具" />
|
<MenuItem mnemonicParsing="false" onAction="#date_query_menu_item" text="时间工具"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#cron_menu_item" text="cron表达式" />
|
<MenuItem mnemonicParsing="false" onAction="#cron_menu_item" text="cron表达式"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#mail_menu_item" text="邮件发送" />
|
<MenuItem mnemonicParsing="false" onAction="#mail_menu_item" text="邮件发送"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#telephone_menu_item" text="手机号工具" />
|
<MenuItem mnemonicParsing="false" onAction="#telephone_menu_item" text="手机号工具"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#JsonView_menu_item" text="JsonView" />
|
<MenuItem mnemonicParsing="false" onAction="#JsonView_menu_item" text="JsonView"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#maven_jar_install_menu_item" text="maven-jar-install" />
|
<MenuItem mnemonicParsing="false" onAction="#maven_jar_install_menu_item"
|
||||||
<MenuItem mnemonicParsing="false" onAction="#word_ocr_menu_item" text="word-ocr" />
|
text="maven-jar-install"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#bar_code_menu_item" text="条形码识别" />
|
<MenuItem mnemonicParsing="false" onAction="#word_ocr_menu_item" text="word-ocr"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#pdf_menu_item" text="pdf识别" />
|
<MenuItem mnemonicParsing="false" onAction="#bar_code_menu_item" text="条形码识别"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#batch_update_file_name_menu_item" text="批量修改文件名" />
|
<MenuItem mnemonicParsing="false" onAction="#pdf_menu_item" text="pdf识别"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#capter_screen_menu_item" text="截图工具" />
|
<MenuItem mnemonicParsing="false" onAction="#batch_update_file_name_menu_item"
|
||||||
<MenuItem mnemonicParsing="false" onAction="#file_edit_menu_item" text="文件编辑器" />
|
text="批量修改文件名"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#layui_form_gen_menu_item" text="LayUI表单代码生成" />
|
<MenuItem mnemonicParsing="false" onAction="#capter_screen_menu_item" text="截图工具"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#log_console_menu_item" text="日志输出" />
|
<MenuItem mnemonicParsing="false" onAction="#file_edit_menu_item" text="文件编辑器"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#edit_plus_code_menu_item" text="EditPlus注册码生成" />
|
<MenuItem mnemonicParsing="false" onAction="#layui_form_gen_menu_item"
|
||||||
<MenuItem mnemonicParsing="false" onAction="#minio_upload_menu_item" text="minio文件上传" />
|
text="LayUI表单代码生成"/>
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#log_console_menu_item" text="日志输出"/>
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#edit_plus_code_menu_item"
|
||||||
|
text="EditPlus注册码生成"/>
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#minio_upload_menu_item" text="minio文件上传"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
<Menu mnemonicParsing="false" text="编解码工具">
|
<Menu mnemonicParsing="false" text="编解码工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#base_62_menu_item" text="Base62编码解码" />
|
<MenuItem mnemonicParsing="false" onAction="#base_62_menu_item" text="Base62编码解码"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#base_64_menu_item" text="Base64编码解码" />
|
<MenuItem mnemonicParsing="false" onAction="#base_64_menu_item" text="Base64编码解码"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#base_32_menu_item" text="Base32编码解码" />
|
<MenuItem mnemonicParsing="false" onAction="#base_32_menu_item" text="Base32编码解码"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#morse_coder_menu_item" text="摩尔斯电码" />
|
<MenuItem mnemonicParsing="false" onAction="#morse_coder_menu_item" text="摩尔斯电码"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
<Menu mnemonicParsing="false" text="代码工具">
|
<Menu mnemonicParsing="false" text="代码工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#sql_code_gen_menu_item" text="mysql代码生成" />
|
<MenuItem mnemonicParsing="false" onAction="#sql_code_gen_menu_item" text="mysql代码生成"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#mybatis_plus_gen_menu_item" text="mybatis-plus 代码生成" />
|
<MenuItem mnemonicParsing="false" onAction="#mybatis_plus_gen_menu_item"
|
||||||
<MenuItem mnemonicParsing="false" onAction="#json_javabean_gen_menu_item" text="json转javaBean 代码生成" />
|
text="mybatis-plus 代码生成"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#sql_query_gen_menu_item" text="sql 查询" />
|
<MenuItem mnemonicParsing="false" onAction="#json_javabean_gen_menu_item"
|
||||||
|
text="json转javaBean 代码生成"/>
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#sql_query_gen_menu_item" text="sql 查询"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
<Menu mnemonicParsing="false" text="http工具">
|
<Menu mnemonicParsing="false" text="http工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#http_request_menu_item" text="http请求工具" />
|
<MenuItem mnemonicParsing="false" onAction="#http_request_menu_item" text="http请求工具"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#http_upload_menu_item" text="http上传工具" />
|
<MenuItem mnemonicParsing="false" onAction="#http_upload_menu_item" text="http上传工具"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#http_download_menu_item" text="http下载工具" />
|
<MenuItem mnemonicParsing="false" onAction="#http_download_menu_item" text="http下载工具"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
<Menu mnemonicParsing="false" text="server 工具">
|
<Menu mnemonicParsing="false" text="server 工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#http_server_menu_item" text="http-server 请求工具" />
|
<MenuItem mnemonicParsing="false" onAction="#http_server_menu_item"
|
||||||
<MenuItem mnemonicParsing="false" onAction="#ftp_server_menu_item" text="ftp-server 请求工具" />
|
text="http-server 请求工具"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#ssh_client_menu_item" text="ssh-client 请求工具" />
|
<MenuItem mnemonicParsing="false" onAction="#ftp_server_menu_item" text="ftp-server 请求工具"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#socket_server_menu_item" text="socket-server 服务工具" />
|
<MenuItem mnemonicParsing="false" onAction="#ssh_client_menu_item" text="ssh-client 请求工具"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#socket_client_aio_menu_item" text="socket-client-aio 客户端工具" />
|
<MenuItem mnemonicParsing="false" onAction="#socket_server_menu_item"
|
||||||
<MenuItem mnemonicParsing="false" onAction="#socket_server_aio_menu_item" text="socket-server-aio 服务端工具" />
|
text="socket-server 服务工具"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#socket_server_nio_menu_item" text="socket-server-nio 服务端工具" />
|
<MenuItem mnemonicParsing="false" onAction="#socket_client_aio_menu_item"
|
||||||
<MenuItem mnemonicParsing="false" onAction="#socket_client_nio_menu_item" text="socket-client-nio 客户端工具" />
|
text="socket-client-aio 客户端工具"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#web_socket_client_menu_item" text="web-socket-client 客户端工具" />
|
<MenuItem mnemonicParsing="false" onAction="#socket_server_aio_menu_item"
|
||||||
|
text="socket-server-aio 服务端工具"/>
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#socket_server_nio_menu_item"
|
||||||
|
text="socket-server-nio 服务端工具"/>
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#socket_client_nio_menu_item"
|
||||||
|
text="socket-client-nio 客户端工具"/>
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#web_socket_client_menu_item"
|
||||||
|
text="web-socket-client 客户端工具"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
<Menu mnemonicParsing="false" text="go语言工具">
|
<Menu mnemonicParsing="false" text="go语言工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#json_to_struct_menu_item" text="json生成结构体" />
|
<MenuItem mnemonicParsing="false" onAction="#json_to_struct_menu_item" text="json生成结构体"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
<Menu mnemonicParsing="false" text="编辑器工具">
|
<Menu mnemonicParsing="false" text="编辑器工具">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#ace_js_menu_item" text="ace.js 编辑器" />
|
<MenuItem mnemonicParsing="false" onAction="#ace_js_menu_item" text="ace.js 编辑器"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#monaco_js_menu_item" text="monaco.js 编辑器" />
|
<MenuItem mnemonicParsing="false" onAction="#monaco_js_menu_item" text="monaco.js 编辑器"/>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#codemirror_js_menu_item" text="codemirror.js 编辑器" />
|
<MenuItem mnemonicParsing="false" onAction="#codemirror_js_menu_item"
|
||||||
<MenuItem mnemonicParsing="false" onAction="#timeFx_fx_menu_item" text="timefx 编辑器" />
|
text="codemirror.js 编辑器"/>
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#timeFx_fx_menu_item" text="timefx 编辑器"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
<Menu mnemonicParsing="false" text="编辑器">
|
<Menu mnemonicParsing="false" text="编辑器">
|
||||||
<items>
|
<items>
|
||||||
<MenuItem mnemonicParsing="false" onAction="#ace_menu_item" text="ace.js 编辑器" />
|
<MenuItem mnemonicParsing="false" onAction="#ace_menu_item" text="ace.js 编辑器"/>
|
||||||
<MenuItem mnemonicParsing="false" text="swing编辑器" onAction="#swing_menu_item"/>
|
<MenuItem mnemonicParsing="false" text="swing编辑器" onAction="#swing_menu_item"/>
|
||||||
<!-- <MenuItem mnemonicParsing="false" onAction="#codemirror_menu_item" text="codemirror.js 编辑器" />-->
|
<!-- <MenuItem mnemonicParsing="false" onAction="#codemirror_menu_item" text="codemirror.js 编辑器" />-->
|
||||||
<!-- <MenuItem mnemonicParsing="false" onAction="#timeFx_menu_item" text="timefx 编辑器" />-->
|
<!-- <MenuItem mnemonicParsing="false" onAction="#timeFx_menu_item" text="timefx 编辑器" />-->
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
</menus>
|
</menus>
|
||||||
</MenuBar>
|
</MenuBar>
|
||||||
<AnchorPane layoutY="25.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="25.0">
|
<AnchorPane layoutY="25.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
|
||||||
<children>
|
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="25.0">
|
||||||
|
<children>
|
||||||
<SplitPane fx:id="splitPane" dividerPositions="0.5" prefHeight="575.0" prefWidth="1200.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="25.0">
|
|
||||||
<items>
|
|
||||||
<ListView fx:id="listView" maxWidth="300.0" minWidth="200.0" prefHeight="634.0" prefWidth="295.0" />
|
|
||||||
<AnchorPane prefHeight="200.0" prefWidth="200.0" />
|
|
||||||
</items>
|
|
||||||
</SplitPane>
|
|
||||||
<MenuBar AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
|
||||||
<menus>
|
|
||||||
<Menu mnemonicParsing="false" text="文件">
|
|
||||||
<items>
|
|
||||||
<MenuItem fx:id="open_file" mnemonicParsing="false" text="打开文件" />
|
|
||||||
<MenuItem fx:id="open_dir" mnemonicParsing="false" text="打开文件夹" />
|
|
||||||
<MenuItem fx:id="save" mnemonicParsing="false" text="保存" />
|
|
||||||
<MenuItem fx:id="new_file" mnemonicParsing="false" text="新建" />
|
|
||||||
</items>
|
|
||||||
</Menu>
|
|
||||||
<Menu fx:id="them_list" mnemonicParsing="false" text="主题">
|
|
||||||
|
|
||||||
</Menu>
|
<SplitPane fx:id="splitPane" dividerPositions="0.5" prefHeight="575.0" prefWidth="1200.0"
|
||||||
</menus>
|
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0"
|
||||||
</MenuBar>
|
AnchorPane.topAnchor="25.0">
|
||||||
</children>
|
<items>
|
||||||
</AnchorPane>
|
<ListView fx:id="listView" maxWidth="300.0" minWidth="200.0" prefHeight="634.0"
|
||||||
|
prefWidth="295.0"/>
|
||||||
|
<AnchorPane prefHeight="200.0" prefWidth="200.0"/>
|
||||||
|
</items>
|
||||||
|
</SplitPane>
|
||||||
|
<MenuBar AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
|
<menus>
|
||||||
|
<Menu mnemonicParsing="false" text="文件">
|
||||||
|
<items>
|
||||||
|
<MenuItem fx:id="open_file" mnemonicParsing="false" text="打开文件"/>
|
||||||
|
<MenuItem fx:id="open_dir" mnemonicParsing="false" text="打开文件夹"/>
|
||||||
|
<MenuItem fx:id="save" mnemonicParsing="false" text="保存"/>
|
||||||
|
<MenuItem fx:id="new_file" mnemonicParsing="false" text="新建"/>
|
||||||
|
</items>
|
||||||
|
</Menu>
|
||||||
|
<Menu fx:id="them_list" mnemonicParsing="false" text="主题">
|
||||||
|
|
||||||
|
</Menu>
|
||||||
|
<Menu fx:id="font_item" mnemonicParsing="false" text="字体">
|
||||||
|
|
||||||
|
</Menu>
|
||||||
|
</menus>
|
||||||
|
</MenuBar>
|
||||||
|
</children>
|
||||||
|
</AnchorPane>
|
||||||
</children>
|
</children>
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue