gpt4 book ai didi

java - 使用 DocumentListener 替换

转载 作者:行者123 更新时间:2023-12-02 07:17:48 24 4
gpt4 key购买 nike

我有两个文本区域。当我在第一个文本区域中输入内容时,它会通过文档监听器显示在第二个文本区域中。我想使用替换来用不同的单词替换某些单词(就像翻译器一样)。

我的 DocumentListener 看起来像这样:

DocumentListener documentListener = new DocumentListener() {

public void changedUpdate(DocumentEvent documentEvent) {
printIt(documentEvent);
}
public void insertUpdate(DocumentEvent documentEvent) {
printIt(documentEvent);
}
public void removeUpdate(DocumentEvent documentEvent) {
printIt(documentEvent);
}
private void printIt(DocumentEvent documentEvent) {
DocumentEvent.EventType type = documentEvent.getType();
String typeString = null;
if (type.equals(DocumentEvent.EventType.CHANGE)) {
}
else if (type.equals(DocumentEvent.EventType.INSERT)) {
String hello = area1.getText();
hello.replace("hei", "hello");
area2.setText(hello);
}
else if (type.equals(DocumentEvent.EventType.REMOVE)) {
String hello = area1.getText();
area2.setText(hello);
}
}
};

但这不起作用。我以为hello.replace会将area1中输入的单词hei替换为hello,这将显示在area2中。然而,它并没有改变这个词。那么我做错了什么?

谢谢!

最佳答案

字符串是不可变的;它们无法改变。所以:

hello.replace("hei", "hello");

应该是:

hello = hello.replace("hei", "hello");

Replace 方法必须返回一个包含更改的新字符串,因为它无法修改原始字符串。

关于java - 使用 DocumentListener 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14709589/

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