DocumentListener を実装するクラスがあります。
public class MyListener implements DocumentListener{
private JTextField textField;
public MyListener(JTextField textField) {
LOGGER.info("listener constructor");
this.textField = textField;
}
@Override
public void insertUpdate(DocumentEvent e) {
LOGGER.info("insert update");
}
@Override
public void removeUpdate(DocumentEvent e) {
LOGGER.info("removeupdate");
}
@Override
public void changedUpdate(DocumentEvent e) {
LOGGER.info("CHANGED UPDATE");
}
}
DocumentListener をテキスト フィールドに追加しようとしましたが、プログラムを実行すると、ログ ステートメントが表示されません。
private JTextField createTextField() {
JTextField tf = new JTextField(30);
tf.setName("name");
tf.getDocument().addDocumentListener(new MyListener(tf));
return tf;
}
私のパネルはファイナルなので、それが関係しているかどうかはわかりません。GUIには複数のパネルがあります。
私が基本的にやろうとしているのは、ユーザーが JTextField に名前を入力したときに保存ボタンを有効にし、名前を消去すると保存ボタンを無効にすることです。\
考え?