簡體   English   中英

Java Swing-KeyListener

[英]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.

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