gpt4 book ai didi

java - 从 DocumentListener 获取更改的文本

转载 作者:行者123 更新时间:2023-12-02 12:47:59 25 4
gpt4 key购买 nike

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

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。

最佳答案

由于 TimeLineTextClass 扩展了 JFormattedField,您会发现实际上有一个 getText() 方法。

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

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

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

关于java - 从 DocumentListener 获取更改的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44696550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com