【问题标题】:JAVA: Run program with HK when not in focusJAVA:不在焦点时用HK运行程序
【发布时间】:2012-04-08 01:22:53
【问题描述】:

我有程序:

`

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”)时,计时器应该开始倒计时。我有一门课可以倒计时。

我的问题是:当框架聚焦时,我如何才能听到键盘推动声。因为它只会放在顶部。

【问题讨论】:

    标签: java focus keyboard-shortcuts jframe


    【解决方案1】:

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

    编辑:好吧,您可能会尝试不使用 100% 半透明的全屏窗口 (http://java.sun.com/developer/technicalArticles/GUI/translucent_shaped_windows/) 来获取所有键盘事件(使窗口完全透明不会让您接收键事件),但其他除此之外,它几乎无法实现。

    P.P.S:Java System-Wide Keyboard Shortcut

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-24
      • 2016-08-20
      相关资源
      最近更新 更多