Java 我什么都没做

Java 我什么都没做,java,jtextfield,documentlistener,Java,Jtextfield,Documentlistener,我有一个实现DocumentListener的类: public class MyListener implements DocumentListener{ private JTextField textField; public MyListener(JTextField textField) { LOGGER.info("listener constructor");

我有一个实现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中输入一个名称时,启用Save按钮,当他们删除该名称时,我将禁用Save按钮\


想法?

鉴于您的代码,没有理由不这样做。记录器的跟踪级别很可能设置为更高的级别(例如,
错误
),以防止出现任何输出。如果

LOGGER.info("listener constructor"); 

未显示,这表明您的日志记录设置不正确,无法输出信息级别的消息。我用System.out.println()代替LOGGER.info尝试了你的代码,它的效果与预期一样。

发布你的LOGGER配置,让回答问题的人能够确定问题的原因。显然,这不是这段代码,而是围绕着代码系统的其余部分。现在开始调查,并将更新问题。谢谢这个代码很好用。。。是我整个系统的问题。太多了,所以我换了一种方式。我接受第一个答案。