簡體   English   中英

如何為JFrame的所有組件創建KeyListener觸發器?

[英]How to make a KeyListener trigger for all components of a JFrame?

我有一個課,像這樣:

public class MyFrame extends javax.swing.JFrame implements KeyListener { ... }

在構造函數中:

addKeyListener(this);
setFocusable(true);

只要窗口本身處於焦點位置,此方法就起作用。 如果我專注於該窗口中的某個組件,則鍵偵聽器將不再偵聽。 我想要這樣,以便無論何時窗口是活動窗口,但無論焦點位於哪個特定子組件上,都將觸發鍵偵聽器。 我希望保留焦點遍歷鍵,以提高生活質量,但這並不是關鍵。

我該怎么做呢?

最好對每個組件使用鍵綁定API,可以使用鍵綁定更改觸發給定操作所需的焦點級別,例如,當組件具有焦點時,組件是被焦點對象的子對象時組件或包含在焦點窗口中的組件...

有關更多詳細信息,請參見如何使用鍵綁定

將KeyListener遞歸添加到子組件。

檢查一下

如何在JFrame中獲取所有元素?

我希望這會有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM