У меня есть 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] (http://sscce.org/). –
В этом случае может потребоваться ['JFormattedTextField'] (http://docs.oracle.com/javase/7/docs/api/javax/swing/JFormattedTextField.html). Подробнее см. В разделе «Использование форматированных текстовых полей» (http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html). –
* «Например, если он обнаруживает« проблемное »изменение, он должен удалить весь текст в том же объекте JTextField.» * Итак .. если я набрал 55 символов правильно, но 56-й недействителен, я теряю 55 правильные символы? Это * суровый. * –