2013-05-30 65 views
1

我想獲取單個文本及其位置,因爲它們在可編輯的jTextArea中被輸入 。從Java jTextArea獲取文本和位置

例如,以下字符串: 「這是java的」

應提供以下資料:

詞位置 這P1 是P2 java的P3

任何建議如何爲了達成這個。 親切的問候。

+0

您只需從文本區域獲取文本並使用'indexOf' – Apurv

回答

1

你可以做這樣的事情

JTextArea textArea = new JTextArea(); 
textArea.setText("this is java"); 
StringTokenizer stringTokenizer = new StringTokenizer(textArea.getText()); 
int position = 1; 
while(stringTokenizer.hasMoreTokens()) 
{ 
    System.out.println("Position" + position + ":" + stringTokenizer.nextToken()); 
} 

輸出是

Position1:this 
Position1:is 
Position1:java 

但是你想知道當前CaretPosition那麼你可以做textArea.getCaretPosition();

0

你可以使用String#split

String[] words = myTextArea.getText().split("\\s+"); 
for (int i=0; i < words.length; i++) { 
    System.out.println("word position " + words[i] + " p" + (i+1)); 
}