当前位置: 首页 > 知识库问答 >
问题:

在Mac上的Java中没有检测到Tab键

殷学
2023-03-14

我试图使一个应用程序,使用tab键做一些事情。我已经实现了KeyListener接口,并且能够对所有其他键进行编程。但是当我按下Tab键并在keyPressed()方法中,我放了以下内容:

我没有输出。tab键是唯一不提供输出的键。所有其他键都打印了相应的键码。这是为什么?

共有1个答案

阎阳
2023-03-14

对侦听的控件(JTextField?)使用setFocustraversalKeysenabled(false)

编辑:Tab键通常用于在UI控件之间切换输入焦点,以便更容易的键盘输入而不需要鼠标。当UI控件接收到按键事件时,它首先尝试自己“使用”该事件,如果该键是一个特殊的键(Tab、Shift-Tab等),则该控件使用该事件,不进一步传播该事件。另一方面,如果键不是“特殊”键,它会将事件传播到附加的监听器(如果有的话)。调用setFocustraversalKeysenabled(false)将禁用控件的这种内置行为(但在本例中仅针对FocusTraversal,即Tab和Shift+Tab),这样事件就会传播到侦听器。

 类似资料:
  • 我对Python非常陌生,最近我一直致力于在pyplay中创建一个小型的太空入侵者风格的游戏。然而,我几乎已经到达了终点,我想让它这样,如果敌人的船(块)与我的船(玩家)相撞,碰撞被检测到,移除我的两艘船并显示一个简短的“游戏结束”信息。 到目前为止,我有探测子弹和敌舰碰撞的代码,我重写了这个代码,如果我的船和敌舰碰撞,但是这个代码只有在我不开枪的情况下才有效,我也必须从一边移动到另一边为了检测到

  • 我正在尝试在sony xperia J中调试我的android应用程序,但 我已经启用了USB调试,大容量存储,并安装了索尼pc伴侣。我也允许安装外部应用程序。我尝试启用USB教学。我遗漏了什么附加设置吗? 我想我已经为它安装了驱动程序,但我不太确定。有人能帮我吗?这真的很烦人。

  • 我使用maven enforcer插件只强制执行jdk 1.7(我使用的是java.nio.file)。出于某种原因,maven enforcer插件无法检测JDK1.7。 这是我pom.xml的密码- 这就是我得到的错误- 编辑 mvn执行者:显示信息 显示版本1.7而不是1.6。。。为什么强制检测java 1.6版?

  • 我对Netty5(或4)中的引用计数bytebuf有些怀疑。我发现,当bytebuf超出生命周期时,我不释放它时不会发生任何事情,似乎bytebuf使用的内存可以正确地GCed。 在这个链接http://netty.io/wiki/reference-counted-objects.html中,它说设置JVM选项'-dio.netty.leakdetectionlevel=advanced'或调用

  • 我试着检测一个整音符和一个半音符,但对于半音符,我似乎检测不出来,因为它是一个镂空的圆圈。有没有办法检测出镂空的圆圈? 下面是我的代码: