在Java中发生按键事件时检测区域类型

时间:2011-12-14 19:14:21

标签: java swing jtextfield keyevent

我正在Java应用程序中创建一个快捷方式。当用户点击G时,会弹出一个对话框。但是,当用户在文本字段中键入时,我不希望发生这种情况。有没有办法在键释放事件发生时检测区域类型,所以我只能在用户不在文本字段时弹出对话框窗口?

提前致谢。

1 个答案:

答案 0 :(得分:3)

您可以使用Window.getFocusOwner()来获取在您的应用程序中具有焦点的Component,然后使用instanceof check。

例如:

    public void keyReleased(KeyEvent e)
    {
        if(e.getKeyCode() == KeyEvent.VK_G && !(myWindow.getFocusOwner() instanceof TextField))
        {
            showDialog();
        }
    }