2014-01-08 64 views
0

美好的一天。我正在研究一个项目,我有一个问题。我有一个导入了.txt文件的文本区域,我想创建一个搜索按钮,我想输入一个单词并在该文本区域中搜索它。与CTRL + F类似,您输入一个单词,然后按Enter键并找到该单词。Java。在文本区域搜索文字

我的代码如下所示:

JScrollPane textp1 = new JScrollPane(); 
     textp1.setBounds(110, 222, 570, 450); 
     textp1.setBackground(Color.DARK_GRAY); 
     gtapage1.add(textp1); 
JTextArea textpage1 = new JTextArea(); 
     textpage1.setBackground(Color.WHITE); 
     textpage1.setEditable(false); 
     textpage1.setWrapStyleWord(true); 
     textpage1.setLineWrap(true); 
     try{ 
      FileInputStream fstream = new FileInputStream("D:\\Facultate\\anul 2\\Java Workspace\\Encyclopedia\\src\\text\\gta\\gtaintro.txt"); 
      DataInputStream in = new DataInputStream(fstream); 
      Reader reader = new InputStreamReader(in); 
      textpage1.read(reader, fstream); 
     }catch(Exception e){System.err.println("Error: " + e.getMessage());} 
     textp1.setViewportView(textpage1); 

我想有一个按钮/场,输入一个单词,按回车键,突出我textpage1字。

+0

我需要指导,一个地方开始。我完全不知道如何做到这一点。 – MrSilent

+1

将问题分解成部分。你能突出一个硬编码的单词吗?当这个工作,你可以编程方式改变什么是突出显示?当这个工作,你可以从用户输入?如果您遇到特定的步骤,请发布[SSCCE](http://sscce.org),我们将从那里开始。 –

回答

1

您可以使用String的内置方法。例如

String str = "Here I am"; 
int i = str.indexOf("am"); //i is 7 

然后,您将突出显示具体的区域,通过采取开始索引和字符串的长度。 i是7,因为在我们查找的字符串的第一个字母之前有7个字符。

注意:indexOf区分大小写。