我有一个文本字段,当用户插入一定数量的字符时,程序应该将其放入 JTable 并清除文本字段,但它会为 Jtextfield.setText("");
这是我的代码:
jTextField2.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
printIt();
}
@Override
public void removeUpdate(DocumentEvent e) {
}
@Override
public void changedUpdate(DocumentEvent e) {
}
private void printIt() {
//DocumentEvent.EventType type = documentEvent.getType();
String code=jTextField2.getText().trim();
// if(type.toString().trim().length()==13)
if (code.length()==4) {
list.add(code);
mod.addRow(new Object[]{code});
jTextField2.setText("");
}
}
});
}
最佳答案
要在使用 DocumentListener 时更新文本字段,您需要将代码包装在 SwingUtilities.invokeLater() 中,以便在对文档完成所有更新后执行代码。
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
jTextField2.setText("");
}
});
关于java - 无法使用 Documentlistener 清除 jtextfield,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19189288/