[英]Java Swing - KeyListener
我怎么知道鍵入的鍵何時更改了我的文本? 還是如果鍵是一個字符?
接口KeyListener包含三種方法:
void keyTyped(KeyEvent)
void keyPressed(KeyEvent)
void keyReleased(KeyEvent)
因此,如果您在KeyEvent對象中獲得char,例如:
if ("a".equals(KeyEvent.getKeyChar()))
System.out.println("It's a letter")
我猜您想知道是否鍵入一個特定的鍵實際上會打印一個字符或某些“不可見”的控制字符或其他內容:
在這種情況下,您可以在KeyEvent中檢查鍵入的鍵,該鍵會傳遞到KeyListener的實現方法中:
這個快速的示例應該可以工作,盡管我沒有對其進行測試。 它在KeyEvent返回的char上構造一個新的String,然后如果char在String中創建了可讀字符,則調用length()方法進行檢查。 有點hacky,但我希望你能理解
public void keyReleased(KeyEvent ke){
if (new String(ke.getKeyChar()).length() == 0){
// do something important...
}
}
您可以使用ke.getKeyCode()
並檢查KeyEvent中的靜態字段(VK_F12,VK_ENTER ...)
在這里檢查:
http://docs.oracle.com/javase/6/docs/api/java/awt/event/KeyEvent.html
您需要一個文檔監聽器。 有關更多信息,請參見oracle文檔: 如何編寫文檔監聽器
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.