如何將鍵盤快捷鍵添加到Java小程序中?在小程序中添加鍵盤快捷鍵
我有一個任務(我正在考慮榮譽計算機科學)讓我的名字旋轉在一個圓圈。 我用了一個無限循環,每次我想結束時,我必須去任務管理器並結束程序。我可以添加退出小程序的快捷方式嗎?
例如,如果我按空格鍵,它將更改爲程序的另一部分。
我在Oracle的網站上查看了"How to Use Key Bindings",但我無法理解它。
如何將鍵盤快捷鍵添加到Java小程序中?在小程序中添加鍵盤快捷鍵
我有一個任務(我正在考慮榮譽計算機科學)讓我的名字旋轉在一個圓圈。 我用了一個無限循環,每次我想結束時,我必須去任務管理器並結束程序。我可以添加退出小程序的快捷方式嗎?
例如,如果我按空格鍵,它將更改爲程序的另一部分。
我在Oracle的網站上查看了"How to Use Key Bindings",但我無法理解它。
如果你正在使用Swing(如果你正在創建一個JApplet),那麼是的,Key Bindings是要走的路。他們怎麼會迷惑你?順便說一句,我知道這不是直接關係到你的問題,但如果你的applet是一個Swing JApplet,我不會使用無限循環來做動畫,而是我會用一個擺動計時器。如果使用無限循環,則必須注意a)在後臺線程中執行無限循環,並且b)在Swing事件分派線程(或EDT)的循環內進行大部分Swing調用,否則您可能會凍結主搖擺螺紋。 Swing Timer可以爲您完成所有這些工作,因此使用起來更加簡單。
對不起,延遲迴復。我不明白如何將密鑰綁定添加到程序中。你能給我一個例子,說明爲了獲得密鑰綁定,我必須添加哪些代碼? –
@ the_pwner224:谷歌的鍵綁定教程,因爲它會告訴你所有你需要知道的。如果你卡住了,然後再回來。 –
@ the_pwner224:編輯:我現在記得你已經有了鏈接,但你所說的只是你不明白,但沒有具體說明。沒有特定的問題,除了建議您重新閱讀教程之外,我們無法幫助您。考慮問一個更具體的問題。 –
該教程的所有內容說您需要一個KeyStroke
,一些密鑰Object
和一個Action
來創建密鑰綁定。
要創建您的KeyStroke
,請查看靜態helper methods,他們應該解釋如何獲得您需要的正確KeyStroke
。
您可以使用任何舊的Object
作爲關鍵字(Object key = new Object()
)。
您需要的最後一件事是創建Action
。我建議擴展AbstractAction
,因爲它已經爲您執行了許多Action
的方法。
把你的鍵綁定在一起,做到以下幾點:
JComponent c = ...
KeyStroke keyStroke = ...
Object key = ...
Action a = ...
c.getInputMap().put(keyStroke, key);
c.getActionMap().put(key, a);
*「?我必須去任務管理器,結束程序我可以添加退出小程序的快捷方式」 *放一個切換按鈕到停止/啓動的北方。順便說一句 - 幾乎所有可以在應用程序中完成的事情。可以在applet中完成,但由於焦點(這個applet可能沒有輸入焦點並且可能被標記爲不可聚焦),這種情況會更棘手。 –