从DocumentListener获取更改的文本

时间:2017-06-22 10:17:17

标签: java jformattedtextfield documentlistener

我认为这很容易,显然我不懂DocumentListeners。我创建了一个JFormattedTextField扩展来包含一个监听器,以便我可以使用更改的字段文本更新哈希映射。

package stokerMonitor;

import java.util.HashMap;

import javax.swing.JFormattedTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;

public class TimeLineTextClass extends JFormattedTextField {

/**
 * 
 */
private static final long serialVersionUID = 1L;

private HashMap<Integer,Object> fieldList;
private int field;

public TimeLineTextClass (Object tlformat_,HashMap<Integer,Object> fieldList_,int field_) {
    super(tlformat_);
    fieldList=fieldList_;
    field=field_;
    getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void changedUpdate(DocumentEvent e) {
            // Ignore - Using plain document

        }

        @Override
        public void insertUpdate(DocumentEvent e) {
            fieldList.put(field,????);
        }

        @Override
        public void removeUpdate(DocumentEvent e) {
            fieldList.put(field,????);
        }

    });
}

}

在阅读完文档后,我无法弄清楚如何在事件处理程序中获取更改的文本。似乎没有getText方法。我怎么用'????'? TIA。

1 个答案:

答案 0 :(得分:1)

[MYDATA] => Array ( [id] => 79 [my_birth_day] => 1990-06-20 [my_address] => 400 [my_age] => 26 [my_name] => Joy [my_id] => 1 [created] => 2017-06-19 15:39:44 [my_test] => math [my_date] => 2017-08-13 扩展TimeLineTextClass时,你会发现实际上有一个getText()方法。

JFormattedField

上面的代码应该可以正常工作。