让keyevent侦听器方法不断检查输入

Have keyevent listener method constantly checking input

我写了这个方法:

public void keyPressed(KeyEvent e){
        if (e.getKeyCode() == KeyEvent.VK_RIGHT){
            if (isEncryption){
                ctaTarget.setText(codModule.kodiere(this.getText()));
            } else {
                ctaTarget.setText(codModule.dekodiere(this.getText()));
            }
        } else {
            append(""+e.getKeyChar());
        }
    }

这是 class 扩展 JTextArea 的方法(是的,我知道扩展是次优的,但对于预期的应用程序我不需要任何其他东西,至少据我所知是这样)。 它应该检查输入到 JTextArea 中的每个字符,如果按下的键是右箭头,则发送消息(settext 部分)。 现在,如果我将我创建的 class 的对象添加到我的 GUI,什么也不会发生。 我是不是忘记了什么我不知道的东西?

提前致谢

看来您已经正确实现了 KeyListener 接口,但显然您并没有添加它。

你的 class 仍然对你的实现一无所知 直到 你使用 Component.addKeyListener() 添加它,即在它的构造函数中是这样的:

this.addKeyListener(this);

有了这个,我们告诉它使用它自己的 KeyListener 实现。