【问题标题】:Key event not captured in Applet AFTER I've pressed one of my GUI buttons按下我的 GUI 按钮之一后,Applet 中未捕获的关键事件
【发布时间】:2012-03-05 21:32:31
【问题描述】:

我有使用键盘、鼠标和 GUI 按钮的音乐 Applet。首次加载小程序时,键盘事件可以正常工作,鼠标事件也是如此。但是,在我按下其中一个 GUI 按钮后,鼠标事件仍然有效,但键盘事件无效,并且在我刷新小程序之前不会再次开始工作。

在网上搜索后,我找到了一些可行的解决方案,我尝试将button.setFocusable(true);button.addKeyListener(this); 添加到我的所有按钮和面板中。完全没有效果。我已经看到了转换为 JApplet 并使用键绑定的建议,但肯定有更简单的方法吗? 很抱歉缺少代码,我从新手开始就一直在做这个项目,它有点乱,而且很长!

非常感谢任何帮助!

【问题讨论】:

  • 如果您将KeyListeners 添加到Applet,那就是问题所在。去寻求建议。 :)

标签: java applet awt keylistener


【解决方案1】:
button.setFocusable(true); and button.addKeyListener(this); to all my buttons

对于JButton,使用Swing ActionActionListener 的默认实现,而不是KeyBindings(对于基于Swing 的容器和JComponents),也不使用KeyListener

编辑

如果不是有很重要的原因,不要使用史前的AWT Applet,使用JApplet,可能就足够了,简单的JFrame

【讨论】:

    【解决方案2】:

    尝试从项目中删除问题区域并将其放在这里。这很有可能,而不是在定位问题区域时您已经发现了一些错误。

    如果您的项目已经一团糟,那么您应该做的第一件事也是最重要的事情就是订购它。如果它对你来说是一团糟,那意味着你不理解它。所以,它根本行不通。这是你的第一个也是主要的错误。

    【讨论】:

      猜你喜欢
      • 2014-03-28
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多