jTextField.getDocument().addDocumentListener(new DocumentListener(){
......
});
jTextField添加一个DocumentListener监听时,如果jTextField上面的字符改变(如添加一个字符或插入删除一个字符),都会触发该事件。
场景:把一个光标放在jTextField上,然后用条形码枪扫入条形码,然后对条形码进行解析,解析完后清空jTextField,以便继续扫条码。
如果在DocumentListener事件中就讲jTextField清空的话会报错,原因是,当DocumentListener触发时,会锁住jTextField,在释放之前又想把jTextField清空时由于jTextField被锁住,获取不到而报错,可在线程运行完后进行清空:
........//DocumentListener事件监听处理
EventQueue.invokeLater(new Runnable() {
public void run() {
jTextField.setText("");
}
});
jTextField.requestFocus();