JAVA:在不聚焦时使用HK运行程序

JAVA:在不聚焦时使用HK运行程序,java,focus,keyboard-shortcuts,jframe,Java,Focus,Keyboard Shortcuts,Jframe,我有一个计划: ` ` 当我按下键盘上的“VK_NUMPAD0”键时,计时器应该开始倒计时。我有一门课可以倒计时 我的问题是:当画面没有对焦时,我如何才能听到键盘的敲击声。因为它只是放在上面 你不能。使用JNI编写更深层次的工作钩子是可能的,但有点过头了 编辑:嗯,您可能尝试不使用100%半透明的全屏窗口()来获取所有键盘事件(使窗口完全半透明将不允许您接收按键事件),但除此之外,这很难实现 p.p.S.: import java.awt.FlowLayout; import javax.swi

我有一个计划:

`

`

当我按下键盘上的“VK_NUMPAD0”键时,计时器应该开始倒计时。我有一门课可以倒计时


我的问题是:当画面没有对焦时,我如何才能听到键盘的敲击声。因为它只是放在上面

你不能。使用JNI编写更深层次的工作钩子是可能的,但有点过头了

编辑:嗯,您可能尝试不使用100%半透明的全屏窗口()来获取所有键盘事件(使窗口完全半透明将不允许您接收按键事件),但除此之外,这很难实现

p.p.S.:

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Main {
    public static void main(String[] args) {
        JLabel time = new JLabel("10");
    JLabel timer = new JLabel("Timer: ");

    JFrame frame = new JFrame("Timer");
    frame.setLayout(new FlowLayout());
    frame.add(timer);
    frame.add(time);
    frame.pack();
        frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    frame.setLocationByPlatform( true );
    // Set's the window to be "always on top"
    frame.setAlwaysOnTop( true );
    frame.setVisible(true); 
    }
}