2014-01-08 129 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區分大小寫。