0

我正在使用 Lucene 3.6 库来构建拼写检查引擎。

此外,Highlight() 类用于突出显示拼写错误的文本。

现在想把它集成到一个 jTextField 中。希望拼写检查器实时运行,以便当用户键入单词或文本时,拼写检查器引擎会检查单词或文本,如果拼写错误,则在文本上加下划线。

当我从

jTextArea.getText().

但是看起来在循环中使用这个方法调用并不是一个好主意。

任何有任何想法的机构。

4

1 回答 1

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,因此您必须手动将当前键入的键添加到要检查的字符串中。但是,您不能在 TextField 中的特定文本部分加下划线、斜体(这是一个词吗?)或加粗。要么全有,要么全无。

于 2013-12-06T23:37:13.413 回答