Java如何使未突出显示的程序响应热键

Java如何使未突出显示的程序响应热键,java,Java,我有一个简单的linux热键程序。现在,当程序高亮显示时,它工作得很好,但当我点击另一个应用程序时,程序没有响应。有没有一种方法可以让程序即使在后台运行也始终响应 import javax.swing.*; 导入java.awt.*; 导入java.awt.event.*; 类ahkkeys扩展了JFrame{ /** * */ 私有静态最终长serialVersionUID=7564262221986249595L; /** * */ 机器人r; 公共阿凯斯(){ createAndSh

我有一个简单的linux热键程序。现在,当程序高亮显示时,它工作得很好,但当我点击另一个应用程序时,程序没有响应。有没有一种方法可以让程序即使在后台运行也始终响应

import javax.swing.*;
导入java.awt.*;
导入java.awt.event.*;
类ahkkeys扩展了JFrame{
/**
* 
*/
私有静态最终长serialVersionUID=7564262221986249595L;
/**
* 
*/
机器人r;
公共阿凯斯(){
createAndShowGUI();
}
私有void createAndShowGUI(){
setTitle(“用键盘移动光标”);
setDefaultCloseOperation(关闭时退出);
//隐藏可见性
未装饰的设置(真实);
毛不透明度(1);
setVisible(真);
//创建机器人对象
试一试{
r=新机器人();
}捕获(例外e){
}
addKeyListener(新的KeyAdapter(){
按下公共无效键(按键事件e){
if(r==null)
返回;
点p=MouseInfo.getPointerInfo().getLocation();
开关(如getKeyCode()){
//2::单击鼠标右键
案例KeyEvent.VK_2:
r、 鼠标按键(鼠标按键3_面具);
r、 鼠标释放(鼠标事件按钮3_面具);
打破
//下移
案例KeyEvent.VK_3:
r、 鼠标移动(p.x,p.y+55);
打破
//左键单击
案例KeyEvent.VK_4:
r、 鼠标按键(鼠标按键1_面罩);
r、 MouseEvent(MouseEvent.BUTTON1_面具);
}
}
});
}
公共静态void main(字符串参数[]){
新ahkkeys();
}

}
Java不完全提供此功能

虽然,设置可能会帮你完成工作-不确定你想要实现什么

如果你需要“深入”,你必须使用图书馆。不幸的是,这些库不是独立于平台的。您可以使用开始。例如,当我在键盘上按“3”时,鼠标向下移动。当我按“2”时,它会右键单击。但当它点击时,程序停止工作,因为我在窗口中点击了。意味着我点击退出了程序

我想它也工作,即使我在其他窗口旁边的程序窗口点击