自动采集

wjdr
wangbing 1 year ago
parent e8d0b76cb0
commit abfa5a9b44

@ -11,5 +11,5 @@
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK" />
</project>

@ -13,7 +13,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>8</java.version>
<java.version>11</java.version>
<maven.test.skip>true</maven.test.skip>
</properties>
@ -42,6 +42,13 @@
<artifactId>hutool-all</artifactId>
<version>5.8.26</version>
</dependency>
<!-- java注册全局热键 -->
<dependency>
<groupId>com.melloware</groupId>
<artifactId>jintellitype</artifactId>
<version>1.4.0</version>
</dependency>
</dependencies>
<build>

@ -0,0 +1,85 @@
package com.example.jmacro.wjdr.util;
import cn.hutool.log.StaticLog;
import com.melloware.jintellitype.HotkeyListener;
import com.melloware.jintellitype.JIntellitype;
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
/**
*
*/
public class Capture extends JFrame {
// 退出
private final int KEY_MARK_ESC = 1;
public Capture() {
init();
}
private void init() {
setExtendedState(Frame.MAXIMIZED_BOTH);
setLocation(0, 0);//位置
setUndecorated(true);
setAlwaysOnTop(true);
setBackground(new Color(0, 0, 0, 0.4f));
// 监听窗口关闭
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// 关闭应用时要释放资源
dispose();
System.exit(0);//0正常退出1非正常退出
}
});
// 添加热键
JIntellitype.getInstance().registerHotKey(KEY_MARK_ESC, 0, KeyEvent.VK_ESCAPE);
JIntellitype.getInstance().addHotKeyListener(hotkeyListener);
setVisible(true);
}
private final HotkeyListener hotkeyListener = new HotkeyListener() {
@Override
public void onHotKey(int i) {
switch (i) {
case KEY_MARK_ESC: {
StaticLog.info("exit.");
JIntellitype.getInstance().unregisterHotKey(KEY_MARK_ESC);
JIntellitype.getInstance().removeHotKeyListener(hotkeyListener);
close();
}
break;
}
}
};
public void close() {
// 关闭应用时要释放资源
dispose();
System.exit(0);
}
public static void main(String[] args) {
int originX = 0;
int originY = 0;
File legend = new File("legend");
System.out.println("请将鼠标移动截图位置的左上角并且按下Ctrl");
Capture capture = new Capture();
}
}
Loading…
Cancel
Save

Powered by TurnKey Linux.