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

标签 java swing jtextfield keyevent

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

提前致谢。

最佳答案

您可以使用 Window.getFocusOwner() 获取应用程序中具有焦点的组件,然后使用 instanceof 检查。

例如:

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

关于java - Java中按键事件发生时检测区域类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8510306/

相关文章:

java - 在java8中验证属性文件中的 key 的最佳方法

java - 堆叠条形图的 itemMargin 属性的最大值和最小值是多少

java - 将创建的 JLabels 索引到 2D Jlabel 数组中

java - jTextField 仅接受字母和空格

java - SwingX AutoCompleteDecorator JTextField 错误

java - Google Glass 全屏自定义布局卡

Java RegEx 模式不匹配(在 .NET 中工作)

java - 使用 Hibernate 4 生成 DDL

java - 将输入值设置为 JScrollBar 的值

java - 使用 JTextField 和 JButton 打开 url