【问题标题】:Adding MouseListener breaks Keylistener添加 MouseListener 会中断 Keylistener
【发布时间】:2011-07-12 11:02:29
【问题描述】:

当我删除所有 MouseListener 组件并运行小程序时,我必须单击它以使其获得焦点,然后 KeyListener 可以完美运行。为了解决这个问题,我添加了一个“打开页面”,您必须在游戏运行之前单击开始。这将使小程序获得焦点,并且在播放器同时准备好之前不会启动。我添加了 MouseListener 并且效果很好,但是现在 KeyListener 根本没有注册。我不知道为什么,但我想这又与焦点有关。有人知道这里应该做什么吗?

代码可以在这里找到:http://pastebin.com/LDxtk878

谢谢!

【问题讨论】:

    标签: java applet keylistener mouselistener


    【解决方案1】:

    如果不检查所有 322 行代码,您可能会查看文章 How to Write a Key Listener,并注意“注意:要触发键盘事件,组件必须具有键盘焦点”之后的部分。

    另外,考虑扩展JApplet,作为替代方案。

    【讨论】:

    • 我在 init() 中添加了监听器之后添加了 this.setFocusable(true) 并解决了问题。为什么在有鼠标监听器时必须这样做,而在其他情况下则不然?
    • 鼠标点击改变焦点。
    猜你喜欢
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    • 2012-02-26
    相关资源
    最近更新 更多