2013-06-21 88 views
0

有什麼方法可以讓您在不點擊的情況下使用JFrame?我有一個遊戲,但爲了與WASD一起移動,我首先需要在應用程序運行時單擊框架。是不是有一種方法可以讓你直接使用而不用先點擊?如何給予JFrame初始焦點

我有這樣的:

Game game = new Game(); 
game.frame.setResizable(false); 
game.frame.setTitle(Game.title); 
game.frame.add(game); 
game.frame.pack(); 
game.frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
game.frame.setLocationRelativeTo(null); 
game.frame.setVisible(true); 

我應該在哪裏把game.frame.requestFocus();

+0

嘗試Sysout(game.frame.requestFocusInWindow()),您還應該爲像JPanel這樣的容器請求FocusInWindow,而不是用於JFrame – nachokk

回答

2

它是requestFocus()方法,它將焦點放在調用它的組件(本例中爲JFrame)上。

+0

請查看編輯請: ) –

+0

在你調用game.frame.setVisible(true)之前調用game.frame.requestFocus() – Lars

+0

沒有工作:/ 這是在主要方法,如果有幫助嗎?另外,我已經完成的方式是添加鍵監聽器,如果按下W,則輸出:true,false,false,false。如果按下A,則輸出:false,true,false,false等。因此,如果沒有按下,則輸出:false,false,false和false。當我按下這些按鈕時,它會顯示完全錯誤,直到我點擊JFrame:/ –