java - 如何收听在 Java 中按下/键入的 TAB 键?

标签 java focus traversal keylistener keyevent

    private void jTextField1KeyPressed(java.awt.event.KeyEvent evt)
    {
        //cant capture my TAB?
        System.out.print(evt.getKeyChar());

    }

在不使用焦点监听技术的情况下,在 java gui 中捕获 tab 键的最简单方法是什么?

最佳答案

VK_TAB 是制表符常量。

但是:键事件监听器不会接收到 Tab 键按下或键释放事件。这是因为焦点子系统会消耗焦点遍历键,例如 Tab 和 Shift Tab。

见:http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html

要解决这个问题,请将以下内容应用于触发键事件的组件(例如,TextArea):

.setFocusTraversalKeysEnabled(false)

使用此方法,您必须显式处理焦点遍历。或者,KeyEventDispatcher类可用于预听所有关键事件。

关于java - 如何收听在 Java 中按下/键入的 TAB 键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8275204/

相关文章:

html - 有没有办法在没有 anchor 的情况下链接到页面上的特定段落?

JQuery遍历表列

c - 如何从 C 中的链表构建霍夫曼树?

将迭代器中的项目添加到数据集时的 Java 错误 - 重复单个值

Java在jframe中打开文件窗口

java - 使用深度优先搜索查找到特定节点的唯一路由数

具有泛型参数基础的 Java 泛型参数

javascript - 是否可以防止隐藏的元素跳入焦点 View

Java 8 - 切换窗口后丢失所有键盘输入或焦点

java - 你什么时候决定为你的对象使用访问者?