我正在Java应用程序中创建一个快捷方式。当用户点击G时,会弹出一个对话框。但是,当用户在文本字段中键入时,我不希望发生这种情况。有没有办法在键释放事件发生时检测区域类型,所以我只能在用户不在文本字段时弹出对话框窗口?
提前致谢。
答案 0 :(得分:3)
您可以使用Window.getFocusOwner()来获取在您的应用程序中具有焦点的Component,然后使用instanceof check。
例如:
public void keyReleased(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_G && !(myWindow.getFocusOwner() instanceof TextField))
{
showDialog();
}
}