补全菜单

master
zhangmeng 2023-03-06 17:35:01 +08:00
parent 1001ca6f35
commit 3adff4b3de
12 changed files with 174 additions and 317 deletions

View File

@ -128,6 +128,25 @@ public class CodecToolsController {
load_small_tools(3);
}
//
@FXML
public void qr_code_menu_item(){
load_small_tools(4);
}
@FXML
public void date_query_menu_item(){
load_small_tools(5);
}
@FXML
public void cron_menu_item(){
load_small_tools(6);
}
@FXML
public void base_62_menu_item(){
@ -163,6 +182,12 @@ public class CodecToolsController {
public void sql_code_gen_menu_item(){
load_sql_tools(0);
}
@FXML
public void netty_client_menu_item(){
load_network_tools(0);
}
@FXML
public void morse_coder_menu_item(){
@ -173,6 +198,22 @@ public class CodecToolsController {
morse_coder(flag);
}
public void load_network_tools(int index){
AnchorPane fx = null;
try {
fx = FXMLLoader.load(ResourcesUtils.getResource("network-tools"));
} catch (IOException e) {
e.printStackTrace();
}
Scene scene = new Scene(fx);
Stage stage = (Stage) splitPane.getScene().getWindow();
stage.setScene(scene);
ListView<ResourcesUtils.Player> listView = (ListView) fx.lookup("#listView");
listView.getSelectionModel().select(index);
}
public void load_sql_tools(int index) {
AnchorPane fx = null;
try {

View File

@ -2,7 +2,6 @@ package com.zhangmeng.tools.controller;
import com.zhangmeng.tools.utils.AlertUtils;
import com.zhangmeng.tools.utils.CronUtil;
import com.zhangmeng.tools.utils.QuartzUtils;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
@ -10,13 +9,8 @@ import javafx.scene.control.TextField;
import lombok.extern.slf4j.Slf4j;
import org.quartz.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import static org.quartz.DateBuilder.evenMinuteDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;
/**
* @author :

View File

@ -5,6 +5,7 @@ import com.zhangmeng.tools.utils.ResourcesUtils;
import javafx.beans.property.SimpleDoubleProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Pos;
@ -340,4 +341,11 @@ public class NetWorkToolsController {
});
}
public void date_query_menu_item(ActionEvent event) {
load_small_tools(5);
}
public void cron_menu_item(ActionEvent event) {
load_small_tools(6);
}
}

View File

@ -170,6 +170,37 @@ public class PlayerController {
vip_parser(flag);
}
@FXML
public void date_query_menu_item(){
load_small_tools(5);
}
@FXML
public void cron_menu_item(){
load_small_tools(6);
}
@FXML
public void netty_client_menu_item(){
load_network_tools(6);
}
public void load_network_tools(int index){
AnchorPane fx = null;
try {
fx = FXMLLoader.load(ResourcesUtils.getResource("network-tools"));
} catch (IOException e) {
e.printStackTrace();
}
Scene scene = new Scene(fx);
Stage stage = (Stage) splitPane.getScene().getWindow();
stage.setScene(scene);
ListView<ResourcesUtils.Player> listView = (ListView) fx.lookup("#listView");
listView.getSelectionModel().select(index);
}
public void load_codec_tools(int index){
AnchorPane fx = null;
try {

View File

@ -195,6 +195,27 @@ public class SmallToolsController {
load_mysql_tools(0);
}
@FXML
public void netty_client_menu_item(){
load_network_tools(0);
}
public void load_network_tools(int index){
AnchorPane fx = null;
try {
fx = FXMLLoader.load(ResourcesUtils.getResource("network-tools"));
} catch (IOException e) {
e.printStackTrace();
}
Scene scene = new Scene(fx);
Stage stage = (Stage) splitPane.getScene().getWindow();
stage.setScene(scene);
ListView<ResourcesUtils.Player> listView = (ListView) fx.lookup("#listView");
listView.getSelectionModel().select(index);
}
@FXML
public void morse_coder_menu_item(){
load_codec_tools(3);

View File

@ -30,6 +30,7 @@ import com.zhangmeng.tools.utils.ResourcesUtils;
import javafx.beans.property.SimpleDoubleProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Pos;
@ -321,4 +322,39 @@ public class SqlToolsController {
});
}
@FXML
public void qr_code_menu_item() {
load_small_tools(4);
}
@FXML
public void date_query_menu_item() {
load_small_tools(5);
}
@FXML
public void cron_menu_item() {
load_small_tools(6);
}
@FXML
public void netty_client_menu_item() {
load_network_tools(0);
}
public void load_network_tools(int index){
AnchorPane fx = null;
try {
fx = FXMLLoader.load(ResourcesUtils.getResource("network-tools"));
} catch (IOException e) {
e.printStackTrace();
}
Scene scene = new Scene(fx);
Stage stage = (Stage) splitPane.getScene().getWindow();
stage.setScene(scene);
ListView<ResourcesUtils.Player> listView = (ListView) fx.lookup("#listView");
listView.getSelectionModel().select(index);
}
}

View File

@ -1,310 +0,0 @@
package com.zhangmeng.tools.utils;
import com.zhangmeng.tools.controller.CronController;
import lombok.extern.slf4j.Slf4j;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.impl.matchers.GroupMatcher;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import static org.quartz.DateBuilder.evenMinuteDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;
/**
* @author :
* @version : 1.0
* @date : 2023-03-06 16:44
*/
@Slf4j
public class QuartzUtils {
private static Scheduler scheduler = getScheduler();
/**
*
*
* @return
* @throws SchedulerException
*/
private static Scheduler getScheduler() {
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler scheduler = null;
try {
scheduler = sf.getScheduler();
} catch (SchedulerException e) {
e.printStackTrace();
}
return scheduler;
}
public static Scheduler getInstanceScheduler() {
return scheduler;
}
/**
*
*
* @throws SchedulerException
*/
public void start() throws SchedulerException {
scheduler.start();
}
/**
*
*
* @return
* @throws SchedulerException
*/
public boolean isStarted() throws SchedulerException {
return scheduler.isStarted();
}
/**
*
*
* @throws SchedulerException
*/
public void shutdown() throws SchedulerException {
scheduler.shutdown();
}
/**
* job
*
* @param jobdetail
* @param trigger
* @return
* @throws SchedulerException
*/
public Date scheduleJob(JobDetail jobdetail, Trigger trigger) throws SchedulerException {
return scheduler.scheduleJob(jobdetail, trigger);
}
/**
*
*
* @param trigger
* @return
* @throws SchedulerException
*/
public Date scheduleJob(Trigger trigger) throws SchedulerException {
return scheduler.scheduleJob(trigger);
}
/**
* Job
*
* @param triggerkey
* @return
* @throws SchedulerException
*/
public boolean unscheduleJob(TriggerKey triggerkey) throws SchedulerException {
return scheduler.unscheduleJob(triggerkey);
}
/**
* job
*
* @return
* @throws SchedulerException
*/
public boolean unscheduleJobs(List<TriggerKey> triggerKeylist) throws SchedulerException {
return scheduler.unscheduleJobs(triggerKeylist);
}
/**
* job
*
* @param triggerkey
* @param trigger
* @return
* @throws SchedulerException
*/
public Date rescheduleJob(TriggerKey triggerkey, Trigger trigger) throws SchedulerException {
return scheduler.rescheduleJob(triggerkey, trigger);
}
/**
* job
*
* @param jobdetail
* @param flag
* @throws SchedulerException
*/
public void addJob(JobDetail jobdetail, boolean flag) throws SchedulerException {
scheduler.addJob(jobdetail, flag);
}
/**
* job
*
* @param jobkey
* @return
* @throws SchedulerException
*/
public boolean deleteJob(JobKey jobkey) throws SchedulerException {
return scheduler.deleteJob(jobkey);
}
/**
* job
*
* @param jobKeys
* @return
* @throws SchedulerException
*/
public boolean deleteJobs(List<JobKey> jobKeys) throws SchedulerException {
return scheduler.deleteJobs(jobKeys);
}
/**
* @param jobkey
* @throws SchedulerException
*/
public void triggerJob(JobKey jobkey) throws SchedulerException {
scheduler.triggerJob(jobkey);
}
/**
* @param jobkey
* @param jobdatamap
* @throws SchedulerException
*/
public void triggerJob(JobKey jobkey, JobDataMap jobdatamap) throws SchedulerException {
scheduler.triggerJob(jobkey, jobdatamap);
}
/**
* job
*
* @param jobkey
* @throws SchedulerException
*/
public void pauseJob(JobKey jobkey) throws SchedulerException {
scheduler.pauseJob(jobkey);
}
/**
* job
*
* @param groupmatcher
* @throws SchedulerException
*/
public void pauseJobs(GroupMatcher<JobKey> groupmatcher) throws SchedulerException {
scheduler.pauseJobs(groupmatcher);
}
/**
* 使
*
* @param triggerkey
* @throws SchedulerException
*/
public void pauseTrigger(TriggerKey triggerkey) throws SchedulerException {
scheduler.pauseTrigger(triggerkey);
}
public void pauseTriggers(GroupMatcher<TriggerKey> groupmatcher) throws SchedulerException {
scheduler.pauseTriggers(groupmatcher);
}
/**
* job
*
* @param jobkey
* @throws SchedulerException
*/
public void resumeJob(JobKey jobkey) throws SchedulerException {
scheduler.pauseJob(jobkey);
}
public void resumeJobs(GroupMatcher<JobKey> matcher) throws SchedulerException {
scheduler.resumeJobs(matcher);
}
public void resumeTrigger(TriggerKey triggerkey) throws SchedulerException {
scheduler.resumeTrigger(triggerkey);
}
public void resumeTriggers(GroupMatcher<TriggerKey> groupmatcher) throws SchedulerException {
scheduler.resumeTriggers(groupmatcher);
}
/**
* job
*
* @throws SchedulerException
*/
public void pauseAll() throws SchedulerException {
scheduler.pauseAll();
}
/**
* job
*
* @throws SchedulerException
*/
public void resumeAll() throws SchedulerException {
scheduler.resumeAll();
}
static class RamJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
log.info("jobExecutionContext:{}-----------------",new Date());
}
}
public static void main_start(){
log.info("------- Initializing ----------------------");
//从调度管理器中获取调度对象
Scheduler sched = QuartzUtils.getInstanceScheduler();
log.info("------- Initialization Complete -----------");
Date runTime = evenMinuteDate(new Date());
log.info("------- Scheduling Job -------------------");
//创建相关的job信息
JobDetail job = newJob(RamJob.class)
.withIdentity("job1", "group1")
.build();
//创建一个触发器的名称
Trigger trigger = newTrigger()
.withIdentity("trigger1", "group1")
.startAt(runTime)
.build();
//设置调度相关的Job
try {
sched.scheduleJob(job, trigger);
log.info(job.getKey() + " will run at: " + runTime);
//启动调度任务
sched.start();
log.info("------- Started Scheduler -----------------");
//暂时停止Job任务开始执行
log.info("-------pauseJob.. -------------");
sched.pauseJob(job.getKey());
//恢复Job任务开始执行
sched.resumeJob(job.getKey());
log.info("------- Shutting Down ---------------------");
sched.shutdown(true);
log.info("------- Shutdown Complete -----------------");
} catch (SchedulerException e) {
e.printStackTrace();
}
}
}

View File

@ -33,6 +33,9 @@
<MenuItem mnemonicParsing="false" text="Unicode和字符串转换" onAction="#unicode_menu_item"/>
<MenuItem mnemonicParsing="false" text="jwt工具" onAction="#jwt_menu_item"/>
<MenuItem mnemonicParsing="false" text="颜色选择工具" onAction="#color_choose_menu_item"/>
<MenuItem mnemonicParsing="false" text="二维码生成" onAction="#qr_code_menu_item"/>
<MenuItem mnemonicParsing="false" text="时间工具" onAction="#date_query_menu_item"/>
<MenuItem mnemonicParsing="false" text="cron表达式" onAction="#cron_menu_item"/>
</items>
</Menu>
@ -50,6 +53,13 @@
<MenuItem mnemonicParsing="false" text="mysql代码生成" onAction="#sql_code_gen_menu_item"/>
</items>
</Menu>
<Menu mnemonicParsing="false" text="network工具">
<items>
<MenuItem mnemonicParsing="false" text="netty-websocket工具" onAction="#netty_client_menu_item"/>
</items>
</Menu>
</menus>
</MenuBar>
<SplitPane fx:id="splitPane" dividerPositions="0.5" layoutY="25.0" prefHeight="575.0" prefWidth="1200.0"

View File

@ -35,6 +35,8 @@
<MenuItem mnemonicParsing="false" text="jwt工具" onAction="#jwt_menu_item"/>
<MenuItem mnemonicParsing="false" text="颜色选择工具" onAction="#color_choose_menu_item"/>
<MenuItem mnemonicParsing="false" text="二维码生成" onAction="#qr_code_menu_item"/>
<MenuItem mnemonicParsing="false" text="时间工具" onAction="#date_query_menu_item"/>
<MenuItem mnemonicParsing="false" text="cron表达式" onAction="#cron_menu_item"/>
</items>
</Menu>

View File

@ -32,6 +32,9 @@
<MenuItem mnemonicParsing="false" text="Unicode和字符串转换" onAction="#unicode_menu_item"/>
<MenuItem mnemonicParsing="false" text="jwt工具" onAction="#jwt_menu_item"/>
<MenuItem mnemonicParsing="false" text="颜色选择工具" onAction="#color_choose_menu_item"/>
<MenuItem mnemonicParsing="false" text="二维码生成" onAction="#qr_code_menu_item"/>
<MenuItem mnemonicParsing="false" text="时间工具" onAction="#date_query_menu_item"/>
<MenuItem mnemonicParsing="false" text="cron表达式" onAction="#cron_menu_item"/>
</items>
</Menu>
@ -49,6 +52,12 @@
<MenuItem mnemonicParsing="false" text="mysql代码生成" onAction="#sql_code_gen_menu_item"/>
</items>
</Menu>
<Menu mnemonicParsing="false" text="network工具">
<items>
<MenuItem mnemonicParsing="false" text="netty-websocket工具" onAction="#netty_client_menu_item"/>
</items>
</Menu>
</menus>
</MenuBar>
<SplitPane fx:id="splitPane" dividerPositions="0.5" layoutY="25.0" prefHeight="575.0" prefWidth="1200.0"

View File

@ -35,7 +35,7 @@
<MenuItem mnemonicParsing="false" text="颜色选择工具" onAction="#color_choose_menu_item"/>
<MenuItem mnemonicParsing="false" text="二维码生成" onAction="#qr_code_menu_item"/>
<MenuItem mnemonicParsing="false" text="时间工具" onAction="#date_query_menu_item"/>
<MenuItem mnemonicParsing="false" text="cron" onAction="#cron_menu_item"/>
<MenuItem mnemonicParsing="false" text="cron表达式" onAction="#cron_menu_item"/>
</items>
</Menu>
@ -54,6 +54,12 @@
</items>
</Menu>
<Menu mnemonicParsing="false" text="network工具">
<items>
<MenuItem mnemonicParsing="false" text="netty-websocket工具" onAction="#netty_client_menu_item"/>
</items>
</Menu>
</menus>
</MenuBar>
<SplitPane fx:id="splitPane" dividerPositions="0.5" layoutY="25.0" prefHeight="575.0" prefWidth="1200.0"

View File

@ -34,6 +34,9 @@
<MenuItem mnemonicParsing="false" text="Unicode和字符串转换" onAction="#unicode_menu_item"/>
<MenuItem mnemonicParsing="false" text="jwt工具" onAction="#jwt_menu_item"/>
<MenuItem mnemonicParsing="false" text="颜色选择工具" onAction="#color_choose_menu_item"/>
<MenuItem mnemonicParsing="false" text="二维码生成" onAction="#qr_code_menu_item"/>
<MenuItem mnemonicParsing="false" text="时间工具" onAction="#date_query_menu_item"/>
<MenuItem mnemonicParsing="false" text="cron表达式" onAction="#cron_menu_item"/>
</items>
</Menu>
@ -51,6 +54,12 @@
<MenuItem mnemonicParsing="false" text="mysql代码生成" onAction="#sql_code_gen_menu_item"/>
</items>
</Menu>
<Menu mnemonicParsing="false" text="network工具">
<items>
<MenuItem mnemonicParsing="false" text="netty-websocket工具" onAction="#netty_client_menu_item"/>
</items>
</Menu>
</menus>
</MenuBar>
<SplitPane fx:id="splitPane" dividerPositions="0.5" layoutY="25.0" prefHeight="575.0" prefWidth="1200.0"