我想在可编辑的 jTextArea 中输入单个文本及其位置。
例如,以下字符串:“this is java”
应提供以下内容:
单词位置 this p1 is 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));
}