2012-12-29 35 views
0

我有使用NetBeans Java制作记事本的功能。我已经做了所有事情,我只是不知道如何实现查找/替换对话框,你能帮助我吗?我正在使用jTextArea。在jTextArea上查找/替换对话框

+1

你能告诉我们一些代码吗? –

+0

我只有textArea和Menu,没什么特别的。我有像新建,打开,保存等选项,没有必要显示代码:) – Alen

回答

1

我会假设你已经了解Swing以及如何进行相应的对话框(因为你显然已经为记事本同等品的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())。你可能需要做一些挑剔的事情来维持异常间距和换行符,但这是我将要使用的一般方法。

+0

什么是“myText”,是来自textArea的文本?以及如何突出显示我在textArea中找到的单词。 – Alen

+0

是的,我假设'myText'是记事本中的文本。要突出显示技术,请参阅[此问题](http://stackoverflow.com/questions/5674128/jtextpane-highlight-text)。 – asteri

+0

@Alen当然。 :) – asteri

0

你可以使用JTable,虽然这是非常规的。您可以将每个单词加载到一个新的单元格中。这样,当你需要替换1个单词时,你不需要将整个jtextarea更新为只有1个字符,除非我错了。这将需要很多工作,但为了得到这个工作

相关问题