【问题标题】:Java KeyBindings not working after entering text in jTextField?在 jTextField 中输入文本后,Java KeyBindings 不起作用?
【发布时间】:2016-01-21 08:23:53
【问题描述】:

基本上,我有一个类似于媒体播放器的 java 程序,PLAY PAUSE FAST FORWARD 选项等等

其中也有键绑定。

但是,在另一个JPanel 中,我也有一个JTextField,它允许用户输入一些文本作为评论。

如果用户决定写一些文本,那么这个 JTextField 将被聚焦,并且它们的键绑定不再起作用。

但如果我对所有容器和子容器执行setFocusable(false),用户将无法在JTextfield 中输入文本。

我该如何解决这个问题?

【问题讨论】:

    标签: java swing key-bindings hotkeys


    【解决方案1】:

    JComponent#getInputMap 默认使用WHEN_FOCUSED

    根据您的需要,您可以使用 WHEN_ANCESTOR_OF_FOCUSED_COMPONENTWHEN_IN_FOCUSED_WINDOW 来更改组件所需的焦点级别以响应按键输入

    更多详情请参阅JComponent#getInputMap(int)How to Use Key Bindings

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多