我如何让消费者在这里为这个关键事件工作?

How do i get consume to work here for this key Event?

提问人:Confuzzlede 提问时间:3/2/2022 最后编辑:Andrew ThompsonConfuzzlede 更新时间:3/9/2022 访问量:54

问:

我仔细检查以确保问题不是条件,但由于某种原因,消费拒绝工作

我不知道我应该做什么

public void keyPressed(KeyEvent e) {

                char c = e.getKeyChar();
                if (Character.isAlphabetic(c)) {
                    System.out.println("Key is a Letter");
                    e.consume();
                }
            }
Java Swing 事件 JTextField KeyEvent

评论


答:

1赞 thorin9000 3/2/2022 #1

请改为在方法内部尝试它,因为当键盘将键发送到系统输入时执行。keyTypedkeyTyped

@Override
public void keyTyped(KeyEvent e) {
    char c = e.getKeyChar();
    if (Character.isAlphabetic(c)) {
        System.out.println("Key is a Letter");
        e.consume();
    }
}