![](/img/trans.png)
[英]Add Arrow Keylistener to a Jframe that implements ActionListener
[英]JFrame's keylistener with actionlistener
我試圖將KeyListener添加到我的JFrame中,並且按下的鍵將執行ActionListener類中的所有代碼。
范例:
當我按F1時,它將觸發ActionListener類。 按照所有說明進行操作。
有什么幫助嗎? 先感謝您。
沒有KeyListener可以“調用” ActionListener。 而是使用所有指令創建一個單獨的方法,並讓KeyListener和ActionListener都調用同一方法。
同樣在這種情況下,不要使用KeyListener,當鍵盤焦點可以改變時,它的行為會反復無常,而應該使用Key Bindings 。
按下該鍵將執行ActionListener類中的所有代碼。
可以使用Action
來代替使用ActionListener
。 Action
與ActionListner基本相同,但是您可以定義額外的屬性,以使其更易於與鍵盤一起使用。 閱讀Swing教程中有關如何使用動作的部分, 以獲取更多信息和工作示例。 附帶說明,Swing組件被設計為使用動作。
創建Action
您將有不同的選擇:
您可以將Action
添加到JMenuItem
並且如果定義了“加速鍵”,則在按下F1鍵時將自動調用該Action
。
如果不使用JMenuItem
則需要手動將KeyStroke
綁定到Action
。 有關手動添加綁定的基礎知識,請參見Swing教程的[如何制作和刪除鍵綁定]部分。( http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html#howto )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.