- EDIT -
У меня есть JTextField, и я хочу, чтобы метод (пусть пока это был просто оператор print) вызывался каждый раз, когда кто-то изменяет (печатает или удаляет) символ в JTextField. Цель этого метода состоит в том, чтобы метод мгновенно проверял, удовлетворяет ли то, что напечатано, определенным условиям. Благодаря вашей помощи мне удалось написать:
public class MyDocumentListener implements DocumentListener {
public void insertUpdate(DocumentEvent e) {
updateLog(e, "inserted into");
}
public void removeUpdate(DocumentEvent e) {
updateLog(e, "removed from");
}
public void changedUpdate(DocumentEvent e) {
//Plain text components do not fire these events
}
public void updateLog(DocumentEvent e, String action) {
System.out.println("should call the method here");
}
}
Код JTextField:
JTextField passwordField = new JTextField();
passwordField.getDocument().addDocumentListener(new MyDocumentListener());
passwordField.getDocument().putProperty("name", "Text Field");
Проблема, которую я получаю сейчас, заключается в том, что мне нужно использовать
String textFieldPassword = passwordField.getText();
но возвращается NullPointerException
. Я предполагаю, что это потому, что я добавил DocumentListener
и теперь должен работать на DocumentEvent
. Но я не знаю, как это сделать.