Java 尝试的全局鼠标侦听器停止运行,没有错误
以下是我最近编写的一些代码:Java 尝试的全局鼠标侦听器停止运行,没有错误,java,Java,以下是我最近编写的一些代码: import java.awt.*; import java.awt.event.*; import java.awt.Toolkit.*; public class Test{ public static void main(String[] args){ Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
import java.awt.*;
import java.awt.event.*;
import java.awt.Toolkit.*;
public class Test{
public static void main(String[] args){
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
public void eventDispatched(AWTEvent e) {
if(e instanceof MouseEvent){
MouseEvent event = (MouseEvent)e;
if(event.getID() == MouseEvent.MOUSE_PRESSED){}
System.out.println("test");
}
}
}
}, AWTEvent.MOUSE_EVENT_MASK);
}
}
它编译得非常好。但是,当我运行它时,它会运行大约5秒钟,然后退出(控制台上没有消息),当我在短时间内单击鼠标时,程序运行时,没有消息打印到控制台。我已经尝试增加程序的最大内存,但是,正如我所预料的,除了运行时间稍长之外,没有其他变化。谢谢 就我所能测试的而言,这对我来说是有效的
public static void main(String args[]) {
Test0 t=new Test0();
t.setVisible(true);
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
public void eventDispatched(AWTEvent e) {
if(e instanceof MouseEvent){
MouseEvent event = (MouseEvent)e;
if(event.getID() == MouseEvent.MOUSE_PRESSED){}
System.out.println("test "+System.currentTimeMillis());
}
}
}, AWTEvent.MOUSE_EVENT_MASK);
}
如果Test0是某个组件您不能使用Java的GUI库在整个操作系统中全局监视鼠标,您需要使用某种本机钩子在
main
方法主体的末尾