簡體   English   中英

Java KeyListener的keyReleased不為左右箭頭鍵調用

[英]Java KeyListener's keyReleased not called for left and right arrow keys

我有一個實現KeyListener的KeyHandler類。 除了向左和向右箭頭鍵注冊為已按下但從不釋放時,所有鍵均起作用(向上和向下箭頭與其他所有鍵一樣起作用)。 關鍵偵聽器將添加到JFrame的Canvas上。

public class KeyHandler implements KeyListener {

    public void keyPressed(KeyEvent e) {
        System.out.println("Pressed");
    }

    public void keyReleased(KeyEvent e) {
        System.out.println("Released");
    }

    public void keyTyped(KeyEvent e) {}

}

有這種現象的原因嗎?

Java API的摘錄-Keyevent:

Not all keyboards or systems are capable of generating all virtual key codes. No attempt is made in Java to generate these keys artificially.

因此從Java角度來看,它仍然是行為。 但是,從我的邏輯感覺來看,我也無法給您上下左右箭頭鍵之間的任何區別。 即使我們遵循API定義。 它似乎取決於系統。

暫無
暫無

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

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