我正在尝试使用 Java 1.4.2 编写一个简单的游戏它使用两个主屏幕,这两个主屏幕都使用JPanel
. 其中一个只有一个MouseListener
并且工作完美;使用第一个,您可以打开第二个。第二个屏幕使用 aMouseListener
和 a KeyListener
。该mousePressed
方法工作正常。但是,该keyPressed
方法起初不起作用;为了让它工作,我必须最小化窗口,然后在它工作之前再次重新选择它。
在第一个屏幕中,我被建议toFront()
在打开第二个屏幕时输入一个命令;iesecondFrame.toFront()
但是,它给了我一个错误,说No method "toFront()" was found in type "secondFrame"
- 即使secondFrame
extends JPanel
。
我听说过一些关于“键绑定”的信息;我不熟悉这个话题,但我宁愿从核心解决这个问题,而不仅仅是求助于解决方法。如果可能的话,我想在仍然使用KeyListener
.
代码片段:
public TowerDefenceBoard{
(generic stuff)
setFocusable (true);
addKeyListener (this);
requestFocusInWindow ();
}
有谁知道为什么会这样?有人有建议吗?
提前致谢 :)