在TextArea中拼写检查文本

Pet*_*zov 5 javafx javafx-2 javafx-8

我如何拼写检查用户输入TextArea的文本?

这个JavaFX组件可以实现吗?

我可以使用Java for JavaFX的标准拼写检查程序吗?

Tom*_*ula 3

您可以使用CodeArea来突出显示错误。

CodeArea codeArea = new CodeArea();
codeArea.textProperty().addListener((observable, oldText, newText) -> {
    List<IndexRange> errors = spellCheck(newText);
    for(IndexRange error: errors) {
        codeArea.setStyleClass(error.getStart(), error.getEnd(), "spell-error");
    }
});

List<IndexRange> spellCheck(String text) {
    // Implement your spell-checking here.
}
Run Code Online (Sandbox Code Playgroud)

此外,在样式表中设置错误样式

CodeArea codeArea = new CodeArea();
codeArea.textProperty().addListener((observable, oldText, newText) -> {
    List<IndexRange> errors = spellCheck(newText);
    for(IndexRange error: errors) {
        codeArea.setStyleClass(error.getStart(), error.getEnd(), "spell-error");
    }
});

List<IndexRange> spellCheck(String text) {
    // Implement your spell-checking here.
}
Run Code Online (Sandbox Code Playgroud)

请注意,您需要 JDK8 才能使用 CodeArea。