Определить тип региона, когда в Java происходит событие нажатия клавиши - PullRequest
2 голосов
/ 14 декабря 2011

Я создаю ярлык в моем приложении Java.Когда пользователь нажимает G, появляется диалоговое окно.Однако я не хочу, чтобы это происходило, когда пользователь печатает в текстовом поле.Есть ли способ определить тип региона, когда происходит событие отпускания ключа, поэтому я могу сделать всплывающее диалоговое окно только тогда, когда пользователь не находится в текстовом поле?

Заранее спасибо.

1 Ответ

3 голосов
/ 14 декабря 2011

Вы можете использовать Window.getFocusOwner (), чтобы получить Компонент, который имеет фокус в вашем приложении, а затем использовать проверку instanceof.

Например:

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