我正在使用Lucene 3.6库来构建一个拼写检查引擎。
此外,Highlight()类用于突出显示拼写错误的文本。
现在想将它集成到jTextField中。想要拼写检查 实时运行,以便当用户键入单词或文本时, 拼写检查引擎检查单词或文本,如果是,则加下划线 拼写错误。
当我从
传递一串文字时,lucene拼写检查引擎和HighLight类工作正常jTextArea.getText().
但看起来在循环中使用此方法调用不是一个好主意。
任何有任何想法的机构。
答案 0 :(得分:0)
使用简单的KeyListener,您可以非常无缝地完成此操作。您正在撰写有关JTextField和JTextArea的文章,这个方法适用于这两种方法。
someTextField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
// do your spell-check
mySpellCheckMethod(someTextField.getText() + e.getKeyChar());
}
});
在someTextField将其添加到文本字符串之前,此侦听器获取KeyEvent,因此您必须手动将当前键入的键添加到要检查的字符串中。 但是,你不能强调,italize(是一个单词吗?)或加粗TextField中文本的特定部分。它全有或全无。