我有2个JTextAreas,分别称为“ taOriginal”和“ taTranslated”,如果用户未按给定的按钮(“ tglbtnEnableLetters”),则只能在这些TextAreas上写数字,但是如果用户按按钮,一切都可以编写。为此,我有以下代码:
public void keyTyped(KeyEvent arg0) {
if(!tglbtnEnableLetters.isSelected()) {
char key=arg0.getKeyChar();
if (!Character.isDigit(key) && !Character.isWhitespace(key)) {
arg0.consume();
}
}
}
该代码可以按预期工作,但是我不明白消耗方法()是如何工作的,我的第一个假设是TextAreas是否具有keyTyped事件并创建一个自定义事件来替换默认行为,但是由于给定的组件可以有几个同类型的侦听器,我认为这个假设是不正确的,那么消费对TextArea有何影响?