我有程序:
`
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);
}
}
`
当我按下键盘上的键,如“VK_NUMPAD0”时,定时器应开始倒计时。我有一个让它倒计时的课程。
我的问题是:当画面不聚焦时,如何聆听键盘按键。因为它只会在顶部。
答案 0 :(得分:0)
你做不到。使用JNI编写更深层次的工作挂钩是可能的,但有点矫枉过正。
编辑:嗯,您可能会尝试使用不是100%全译的全屏窗口(http://java.sun.com/developer/technicalArticles/GUI/translucent_shaped_windows/)来获取所有键盘事件(使窗口完全转换为不允许您接收关键事件),但除此之外,它很难实现。