如何在* swing组件和加载/初始化之前检测到按键*

时间:2016-01-12 08:25:30

标签: java swing awt keypress

我的应用程序需要检测启动早期是否按下CONTROL键,如果是,则更改启动顺序。

我需要做的是非常类似于MouseInfo如何获得指针位置(不等待事件通过AWT处理机制)。

    MouseInfo.getPointerInfo().getLocation();

键盘上是否存在类似的内容?即检测某个键是否被按下现在

请注意,注册听众对我不起作用,因为一旦鼠标事件开始处理,那么它已经太晚了#34; - 我的应用程序已经启动,我需要在启动期间停止某些操作。

    // note: this doesn't work. the event is received AFTER app has started
    final AWTEventListener listener = new AWTEventListener() {
        @Override
        public void eventDispatched(AWTEvent event) {
            if (!fired && ((KeyEvent) event).isControlDown()) {
                fired = true;
                System.out.println(event);
                dontDoSomethingHeavyDuringStartup();
            }
        }
    };
    Toolkit.getDefaultToolkit().addAWTEventListener(listener, AWTEvent.KEY_EVENT_MASK);

0 个答案:

没有答案