让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
实现。
我写了这个方法:
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
实现。