我正在尝试使用Java 1.4.2编写一个简单的游戏
它使用两个主屏幕,两个屏幕都使用JPanel
。其中一个只有一个MouseListener
并且完美无瑕;使用第一个,你可以打开第二个。第二个屏幕使用MouseListener
和KeyListener
。 mousePressed
方法运行正常。但是,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 ();
}
有谁知道为什么会这样?有没有人有任何建议?
提前致谢:)
答案 0 :(得分:0)
尝试使用requestFocsInWindow()
KeyListener