2011-03-10 94 views
1

當我刪除所有MouseListener組件並運行小程序時,我必須點擊它才能使其焦點集中,然後KeyListener完美工作。爲了解決這個問題,我添加了一個「開始頁面」,你必須在遊戲運行之前點擊開始。這會給applet帶來焦點,直到玩家同時準備好纔開始。我在MouseListener中添加它,它工作的很好,但現在KeyListener根本沒有註冊。我找不到原因,但我想它與再次關注有關。任何人都知道這裏應該做什麼?添加MouseListener斷點Keylistener

代碼可以在這裏找到:http://pastebin.com/LDxtk878

謝謝!

回答

2

如果不檢查代碼的所有322行,可以參閱文章How to Write a Key Listener,並注意「注意:要觸發鍵盤事件,組件必須具有鍵盤焦點」一節後面的部分。

此外,考慮延伸JApplet作爲替代。

+0

我在init()中添加了監聽器並解決了問題後添加了this.setFocusable(true)。爲什麼在有鼠標監聽器時必須完成此操作,否則不能完成此任務? – tgrosinger 2011-03-10 06:08:27

+0

鼠標點擊改變焦點。 – trashgod 2011-03-10 06:29:08