获取java jTextArea中字符串文本的开始和结束位置

获取java jTextArea中字符串文本的开始和结束位置,java,swing,awt,jtextarea,spell-checking,Java,Swing,Awt,Jtextarea,Spell Checking,我正在使用apached lucene 3.6实现一个拼写检查器 希望将拼写错误的单词的突出显示与 使用单词的“开始”和“结束”位置突出显示类 想知道如何获得的开始和结束的立场 输入jtextarea时的文本 我知道将必须使用键盘和鼠标事件侦听器 但是我如何获得每个单词的“开始”和“结束”位置呢 在文本字符串中 谢谢。假设“单词”仅定义为由空格分隔的字符组,您可以找到所有空格的索引,如下所示: int index = 0; String string = ... // get from text

我正在使用apached lucene 3.6实现一个拼写检查器 希望将拼写错误的单词的突出显示与 使用单词的“开始”和“结束”位置突出显示类

想知道如何获得的开始和结束的立场 输入jtextarea时的文本

我知道将必须使用键盘和鼠标事件侦听器

但是我如何获得每个单词的“开始”和“结束”位置呢 在文本字符串中

谢谢。

假设“单词”仅定义为由空格分隔的字符组,您可以找到所有空格的索引,如下所示:

int index = 0;
String string = ... // get from text area
while((index = string.indexOf(' ', index)) != -1) {
   // save them      
}

您可以获取生成的空格索引列表并构建单词对象列表,从而消除长度为零的单词(相邻空格索引)等。

您需要调用以获取文本区域中作为字符串的完整文本。然后,您可以从这个字符串中提取单词,检查它们,并在同一步骤中获取单词的索引和它们的结束索引,它们只是开始索引+字长。

您是否可以获取jTextArea并在空格处拆分字符串。这将为您提供该区域中所有“单词”的数组

String text = jTextArea.getText();
String[] words = text.split(' ');
然后,为了得到单词的索引,你只需将单词的长度+1加起来

int[] startIndices = new int[words.length];
int[] endIndices = new int[words.length];
int currentIndex = 0;
for (int i = 0; i < words.length; i++) {
    startIndices[i] = currentIndex;
    currentIndex += words[i].length;
    endIndices[i] = currentIndex;
    currentIndex++;
}
int[]startIndices=newint[words.length];
int[]endindex=新的int[words.length];
int currentIndex=0;
for(int i=0;i
。例如,它需要很长的文字,还是只需要文字?如果单词拼写错误,它会返回给您什么样的数据?