2013-10-30 29 views
0

我有一個實現的DocumentListener類:的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

發佈您的記錄器配置和[SSCCE](http://sscce.org/),以使那些回答確定問題原因的人 – Reimeus

+0

看起來不是這段代碼,它是其餘的東西的代碼體系。展望現在並將更新問題。感謝 – htkhtk

+0

此代碼工作正常...是一些與我的整個系統。張貼太多,所以我採取了不同的方式。我會接受第一個答案。 – htkhtk

回答

1

如果未顯示的

LOGGER.info("listener constructor"); 

這表明我你的日誌設置不正確輸出信息級消息。我用System.out.println()代替了LOGGER.info,並且它按預期工作。

1

鑑於你的代碼,沒有任何理由爲什麼不應該工作。更可能的是你的記錄器的跟蹤級別設置爲防止出現任何輸出更高的水平(例如ERROR)。確保跟蹤級別至少設置爲INFO