編集可能な jTextArea に入力された個々のテキストとその位置を取得したいと考えています。
たとえば、次の文字列: "this is java"
以下を提供する必要があります。
単語位置 この p1 は p2 java p3
これを達成する方法についての提案。敬具。
このようなことができます
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();
。
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));
}