如何在不最大化和最小化框架的情况下使KeyListener工作?

时间:2012-06-17 23:17:26

标签: java keylistener

我正在尝试使用Java 1.4.2编写一个简单的游戏 它使用两个主屏幕,两个屏幕都使用JPanel。其中一个只有一个MouseListener并且完美无瑕;使用第一个,你可以打开第二个。第二个屏幕使用MouseListenerKeyListenermousePressed方法运行正常。但是,keyPressed方法最初不起作用;为了让它工作,我必须最小化窗口,然后在它工作之前重新选择它。

在第一个屏幕中,我建议在打开第二个屏幕时输入toFront()命令;即secondFrame.toFront()然而,它给了我一个错误,说No method "toFront()" was found in type "secondFrame" - 即使secondFrame延伸JPanel

我听说过一些名为“Key Bindings”的信息;我不熟悉这个主题,但我宁愿解决这个问题的核心,而不仅仅是求助于解决问题。如果可能的话,我想在使用KeyListener时解决这个问题。

代码片段:

public TowerDefenceBoard{
    (generic stuff)
    setFocusable (true);
    addKeyListener (this);
    requestFocusInWindow ();
}

有谁知道为什么会这样?有没有人有任何建议?

提前致谢:)

1 个答案:

答案 0 :(得分:0)

尝试使用requestFocsInWindow()

在面板上调用KeyListener