我想添加一個KeyListener到我的JFrame和按下的鍵將執行ActionListener類中的所有代碼。JFrame的keylistener與actionlistener
實施例:
當我按下F1,它會觸發的ActionListener類。完成所有的指示。
任何幫助? 預先感謝您。
我想添加一個KeyListener到我的JFrame和按下的鍵將執行ActionListener類中的所有代碼。JFrame的keylistener與actionlistener
實施例:
當我按下F1,它會觸發的ActionListener類。完成所有的指示。
任何幫助? 預先感謝您。
沒有KeyListener「調用」ActionListener。而是用所有的指令創建一個單獨的方法,並且KeyListener和ActionListener都調用這個方法。
此外,在這種情況下,請勿使用在鍵盤焦點可更改時性能反覆無常的KeyListener,而應傾向於使用Key Bindings。
按下的鍵將執行ActionListener類中的所有代碼。
代替使用ActionListener
,您可以使用Action
。 Action
與ActionListner基本相同,但您可以定義更多的屬性,這些屬性可以更輕鬆地使用鍵盤。有關更多信息和工作示例,請閱讀Swing教程中關於How to Use Actions的部分。作爲附註,Swing組件旨在使用Actions。
一旦創建了Action
你有不同的選擇:
您可以將Action
添加到JMenuItem
,如果你定義的「加速器」鍵,然後Action
時,將自動F1鍵調用按下。
如果您不使用JMenuItem
,那麼您需要手動將KeyStroke
綁定到Action
。有關手動添加綁定的基礎知識,請參閱[如何製作和移除關鍵綁定]上的Swing教程部分(http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html#howto)。