当前位置: 首页 > 面试题库 >

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

孟豪
2023-03-14
问题内容
    private void jTextField1KeyPressed(java.awt.event.KeyEvent evt)
    {
        //cant capture my TAB?
        System.out.print(evt.getKeyChar());

    }

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


问题答案:

VK_TAB 是制表符常量。

然而: No Tab key-pressed or key-released events are received by the key event listener. This is because the focus subsystem consumes focus traversal keys, such as Tab and Shift Tab.

请参阅:http
:
//docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html

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

.setFocusTraversalKeysEnabled(false)

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



 类似资料:
  • 问题内容: 我正在尝试用Java创建一个简单的Pong游戏,但我不知道如何让两个玩家同时使用键盘。游戏尚不完整,我目前正在为两位玩家进行划桨动作。问题是,当一个玩家按下自己的向上键并向上移动其拨片时,但是如果其他玩家按下其任意键,则会取消先前的玩家动作并导致拨片停止。我想我需要一种同时处理多个键输入的方法。这是我的代码,底部的KeyListeners是我需要帮助的地方。我只有1年的Java程序员,

  • 问题内容: 我想侦听诸如+之类的组合键,而不在Swing应用程序的每个组件中添加按键侦听器。我该如何实现? 问题答案: 有可能的。 这将抓住所有关键事件。返回false可使键盘焦点管理器恢复分配给各个组件的常规键事件。 如果您想捕捉按键组合,则可以保留一组“按键”。每当按键被按下时,将其添加到集合中并检查集合中已经有哪些键。释放键后,将其从集中移除。

  • 问题内容: 我想绑定以在按下时关闭活动的反应引导弹出窗口。这是代码 但是,当我按任意键时,控制台中都不会记录任何内容。我也尝试在窗口上以及不同情况下使用’keypress’,’keyup’等来收听,但似乎我做错了。 问题答案: 您应该使用而不是。 Keypress通常仅用于根据文档产生字符输出的键 按键 当按下某个键时会触发keypress事件,并且该键通常会产生一个字符值 按键 按下键时会触发k

  • 问题内容: 我有一个霍尼韦尔扫描仪,在扫描条形码时会输出文本。我可以将其用作文本输入的“键盘”,这非常方便,因为我无需进行任何接口。但是它的缺点是必须集中输入并显示移动设备的虚拟键盘,这对于我正在从事的项目是不可接受的。 有什么方法可以在不集中输入的情况下扫描值?我相信,侦听keyPress事件或类似事件将是解决问题的方法,将输入的值存储在textInput之外的其他变量中。 如果有更好的方法可以

  • 问题内容: 我开始学习Java编程,并且我认为通过游戏开发学习Java很酷。我知道如何绘制图像并听按键,然后移动该图像。但是,当窗口正在听按键时,是否可以使图像在窗口中来回移动?例如,当图像或对象(如太空飞船)在窗口中从左向右移动时,如果按空格键,激光将在屏幕底部发射(很酷的:D)。但是基本上,我只是想知道在窗口正在听按键时如何使图像左右移动。 我在想将一个关键侦听器添加到我的窗口,然后触发一个无

  • 我有一个程序,它产生一个JFrame,然后在它上面产生一个JPanel。对于该程序,我尝试实现KeyListener,然后添加方法(用于两个组件),但该程序没有拾取我的任何按键。我做错了什么? 编辑 这是我的密码。它是创建JFrame的类的一部分。它仍然不会按下ESC键。