我試圖讓我的鍵盤輸入工作,但它沒有檢測到任何東西 - 可能是因爲我使用CardLayout,並且我在調用show()
函數時沒有正確設置焦點。CardLayout焦點java
目前,它看起來像這樣。
containerPanel.add(new GameArea(), "newGameArea");
CardLayout cl = (CardLayout)(containerPanel.getLayout());
//containerPanel.requestFocusInWindow();
cl.show(containerPanel, "newGameArea");
任何幫助將不勝感激。
如何獲取InputMap的鍵綁定?你在使用哪種情況?我建議使用'JComponent.WHEN_IN_FOCUSED_WINDOW'。例如:'myComponent.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)'然後焦點停止成爲一個主要問題。 –
還是你沒有使用鍵綁定,而是使用KeyListener(你不說)?如果是這樣,那麼請使用鍵綁定,因爲這是一個Swing應用程序,而不是AWT應用程序。 –