1

我想在可编辑的 jTextArea 中输入单个文本及其位置。

例如,以下字符串:“this is java”

应提供以下内容:

单词位置 this p1 is p2 java p3

关于如何实现这一目标的任何建议。亲切的问候。

4

2 回答 2

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();

于 2013-05-30T12:47:17.187 回答
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));
}
于 2013-05-30T12:47:11.080 回答