我有一個JPanel
包含做的東西其他幾個對象。我將通過討論一些圓對象(由我創建的圓類定義)和一個方形對象(類似)來簡化示例。線程運行時按下按鍵 - 如何捕捉按鍵?
圓圈在屏幕上隨機移動,而方塊坐在它的位置。我的意圖是使用箭頭按鈕移動方塊。 目前的設計是有包含設置它的run方法裏面的「刷新率」延遲while循環線程。
我正在嘗試每種我知道的方法來捕獲箭頭鍵,並圍繞屏幕運行球時移動正方形。
如何捕獲按鍵(示例中的箭頭),以便我可以知道將我的廣場移動到哪裏? 我試圖實現在jpanel
keylistener
,但沒有奏效。當我試圖在運行中使用KeyEvent
時,我遇到了一個異常。
請救救我。 :)
編輯:
謝謝你提供的信息。我想進一步的幫助來解決這個問題 -
可以說我有下面的代碼:
this.getInputMap().put(KeyStroke.getKeyStroke("UP"), "actionName");
this.getInputMap().put(KeyStroke.getKeyStroke("DOWN"), "actionName");
this.getActionMap().put("actionName",
new AbstractAction("actionName") {
public void actionPerformed(ActionEvent evt) {
//dostuff
}
}
);
我怎麼UP和DOWN機區別?我需要改變什麼?
謝謝!我有點新手,我知道:)
請編輯你的問題顯示異常文本和堆棧跟蹤的第一對數行。 – Gray 2012-02-23 18:03:21
使用的KeyEventDispatcher: http://stackoverflow.com/questions/286727/java-keylistener-for-jframe-is-being-unresponsive (第二個答案) – kajacx 2012-02-23 18:34:48