You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.2 KiB
73 lines
2.2 KiB
package xyz.wbsite.jmacro;
|
|
|
|
import com.melloware.jintellitype.JIntellitype;
|
|
import javafx.application.Application;
|
|
import javafx.fxml.FXMLLoader;
|
|
import javafx.scene.Scene;
|
|
import javafx.scene.image.Image;
|
|
import javafx.stage.Stage;
|
|
import xyz.wbsite.jmacro.ui.FXMLUtil;
|
|
import xyz.wbsite.jmacro.util.ResourceUtil;
|
|
import xyz.wbsite.jtask.TaskImpl;
|
|
|
|
import java.awt.event.KeyEvent;
|
|
import java.io.File;
|
|
|
|
/**
|
|
* UI入口
|
|
*
|
|
* @author wangbing
|
|
* @version 0.0.1
|
|
* @since 1.8
|
|
*/
|
|
public class JMainApplication extends Application {
|
|
|
|
public static final int F1_SHORTCUT = 1; // 开始快捷键
|
|
public static final int F2_SHORTCUT = 2; // 结束快捷键
|
|
|
|
public static Stage primaryStage;
|
|
public static JMainController mainController;
|
|
|
|
@Override
|
|
public void start(Stage stage) throws Exception {
|
|
stage.setTitle("无限工具");
|
|
stage.setMinWidth(400);
|
|
stage.setMinHeight(300);
|
|
FXMLLoader mainLoader = FXMLUtil.load("main.fxml");
|
|
mainController = mainLoader.getController();
|
|
stage.setScene(new Scene(mainLoader.getRoot()));
|
|
stage.centerOnScreen();
|
|
stage.setResizable(false);
|
|
stage.setOnCloseRequest(event -> {
|
|
stage.close();
|
|
System.exit(0);
|
|
});
|
|
// 设置图标
|
|
Image icon = new Image(ResourceUtil.getInput("/icon.png"));
|
|
stage.getIcons().add(icon);
|
|
// 展示UI
|
|
stage.show();
|
|
JMainApplication.primaryStage = stage;
|
|
|
|
JIntellitype.getInstance().registerHotKey(F1_SHORTCUT, JIntellitype.MOD_CONTROL, KeyEvent.VK_F1);
|
|
JIntellitype.getInstance().registerHotKey(F2_SHORTCUT, JIntellitype.MOD_CONTROL, KeyEvent.VK_F2);
|
|
JIntellitype.getInstance().addHotKeyListener(identifier -> {
|
|
switch (identifier) {
|
|
case F1_SHORTCUT:
|
|
mainController.onStart();
|
|
break;
|
|
case F2_SHORTCUT:
|
|
mainController.onStop();
|
|
break;
|
|
}
|
|
});
|
|
|
|
// 服务初始化
|
|
JMainService.init(new TaskImpl(), new File("legend"));
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
launch(args);
|
|
}
|
|
}
|