3 回答

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
什么時(shí)候你應(yīng)該更喜歡一個(gè)而不是另一個(gè)?
因?yàn)樗鼈儽灰胨愿矚gKey Bindings。A KeyListener
是與事件的較低級(jí)別連接。
關(guān)鍵綁定的頁面涵蓋了我傾向于使用它們而不是使用它們的很多原因KeyListener
。它列出了許多簡(jiǎn)單地“不可用”的東西KeyListener
。EG選擇:
WHEN_FOCUSED
WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
WHEN_IN_FOCUSED_WINDOW
我閱讀鏈接文檔越多,我就越不能理解提出問題的必要性。例如:
鍵綁定的替代方法是使用鍵偵聽器。鍵偵聽器可以作為鍵盤輸入的低級(jí)接口,但是對(duì)于單個(gè)鍵的響應(yīng),鍵綁定更合適,并且更容易維護(hù)代碼。如果在組件沒有焦點(diǎn)時(shí)要激活鍵綁定,則鍵偵聽器也很困難。密鑰綁定的一些優(yōu)點(diǎn)是它們有點(diǎn)自我記錄,考慮包含層次結(jié)構(gòu),鼓勵(lì)可重用的代碼塊(
Action
對(duì)象),并允許輕松刪除,自定義或共享操作。此外,它們可以輕松更改操作綁定的鍵。另一個(gè)優(yōu)點(diǎn)Actions
是他們有一個(gè)啟用狀態(tài),它提供了一種簡(jiǎn)單的方法來禁用該操作,而無需跟蹤它附加到哪個(gè)組件。
文字組件
正如@Robin所指出的,文本組件也具有DocumentListener
&DocumentFilter
可以添加到更適合文本文檔的功能。有關(guān)文檔偵聽器和過濾器的更多信息,請(qǐng)參閱文本組件功能。

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
請(qǐng)問no access to the x,y location
,我的觀點(diǎn)--->為了更好的幫助,基于SSCCE發(fā)布自己的問題,簡(jiǎn)短,可運(yùn)行,可編譯,AFAIK同時(shí)存在3個(gè)或更多keyPressed(鍵快捷鍵)或?qū)嶋H訂購的限制keyPressed / release for key short cut,for rest is better,comfotable,manbable to KeyBindings over KeyListener
添加回答
舉報(bào)