我有一个实现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中输入名称时启用“保存”按钮,当他们删除名称时,我将禁用保存按钮。 \
思想?
答案 0 :(得分:1)
鉴于你的代码,没有理由说这不起作用。记录器的跟踪级别很可能设置为更高级别(例如ERROR
),以防止出现任何输出。确保跟踪级别至少设置为INFO
。
答案 1 :(得分:1)
如果
LOGGER.info("listener constructor");
然后没有显示,这表明您的日志记录未正确设置为输出信息级别的消息。我用System.out.println()代替LOGGER.info尝试了你的代码,它按预期工作。