在jTextArea上查找/替换对话框

时间:2012-12-29 16:56:04

标签: java netbeans

我有使用NetBeans Java创建记事本的任务。我已经完成了整个事情,我只是不知道如何实现查找/替换对话框,你能帮我解决这个问题。我正在使用jTextArea。

2 个答案:

答案 0 :(得分:1)

我将假设您已经了解Swing以及如何创建相应的对话框(因为您显然已经为Notepad等效的JTextArea做了),并且您只想知道如何让它在后端工作。

我要做的是让Scanner对象通过您的文件来执行查找和替换。

String myAlteredText = "";
Scanner scanner = new Scanner(myText);

while(scanner.hasNext()) {
    String next = scanner.next();
    if(next.equals(userFindInput)) {
        myAlteredText += userReplaceInput;
    }
    else {
        myAlteredText += next;
    }
    myAlteredText += " ";
}

如果案件无关紧要,您可以使用.equalsIgnoreCase()。同样,您可以调整以适应您的用户参数(即,如果它不必匹配整个单词,请改用.contains())。为了保持异常间距和换行符,你可能需要做一些非常挑剔的事情,但这是我会使用的一般方法。

答案 1 :(得分:0)

你可以使用JTable,虽然这是非常规的。您可以将每个单词加载到新单元格中。这样当你需要替换1个单词时,你不需要为1个字符更新整个jtextarea,除非我弄错了。然而,这需要大量的工作才能使其发挥作用