【发布时间】:2012-06-09 18:48:44
【问题描述】:
我有一个 JTextField,带有一个更改文本事件的侦听器。
我可以使用这个监听器来影响它正在监听的同一个对象吗?例如,如果它检测到“有问题的”更改,它应该删除同一个 JTextField 对象中的所有文本。
这可能吗?好像不行……
一个例子如下: .
this.txtSearch.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
validate();
}
public void removeUpdate(DocumentEvent e) {
validate();
}
public void insertUpdate(DocumentEvent e) {
validate();
}
private void validate(){
if not_good(txtSearch.getText()) {
txtSearch.setText("");
}
}
【问题讨论】:
-
“好像不行……” 也许是放假了。为了尽快获得更好的帮助,请发帖SSCCE。
-
这个用例可能需要
JFormattedTextField。详情请见How to Use Formatted Text Fields。 -
“例如,如果它检测到“有问题”的更改,它应该删除同一个 JTextField 对象中的所有文本。” 所以.. 如果我输入了 55字符正确但第 56 个无效,我丢失了 55 个正确字符?那是苛刻。
-
@Andrew:重点是:这样的事情可能吗?
标签: java swing awt jtextfield documentlistener