当前位置: 首页 > 面试题库 >

在JavaFX TextArea中突出显示字符串

缪修德
2023-03-14
问题内容

我们正在TextArea应用程序中使用JavaFX的控件,并尝试将其与Jazzy Spell Check API 集成在一起-例如,当用户输入词典中没有的错误单词时,该单词将突出显示。

有什么办法可以突出显示控件中的单词吗?我在JavaDocs中没有看到任何选择,因此,如果有人可以建议一种方法?

我想,可能有可能使用HTMLEditor组件并用分别为单词加上颜色<font face="red=>wrongWord</font>。但是,这会带来很多不同的拼写检查问题,例如html标签和字数统计。


问题答案:

JavaFX TextArea控件(自2.0.2开始)不支持混合文本样式(字体等)的富文本编辑。

你可以通过操纵TextArea的selectRange来突出显示TextArea中的连续字符串,如以下示例所示:

public class TextHighlight extends Application {
  public static void main(String[] args) { Application.launch(args); }
  @Override public void start(Stage stage) {
    final TextArea text = new TextArea("Here is some textz to highlight");
    text.setStyle("-fx-highlight-fill: lightgray; -fx-highlight-text-fill: firebrick; -fx-font-size: 20px;");
    text.setEditable(false);
    text.addEventFilter(MouseEvent.ANY, new EventHandler<MouseEvent>() {
      @Override public void handle(MouseEvent t) { t.consume(); }
    });

    stage.setScene(new Scene(text));
    stage.show();

    Platform.runLater(new Runnable() {
      @Override public void run() { text.selectRange(13, 18); }
    });
  }
}

你可以使用以上代码作为在进行拼写检查时将TextArea切换为只读模式的基础。实施提示以依次查找和修复每个单词,直到完成拼写检查为止。在单独的对话框或面板中执行提示。Jazzy演示似乎以这种方式工作http://jazzy.sourceforge.net/demo.html,因此将其Swing UI转换为JavaFX应该相当容易。



 类似资料:
  • 本文向大家介绍使用PHP显示动态突出显示的字符串,包括了使用PHP显示动态突出显示的字符串的使用技巧和注意事项,需要的朋友参考一下 该功能可能用途有限,但可以在您的标题中创建一些整洁的效果。它的工作原理是使用空格将字符串分成几小段,然后将其重新放回两部分。第一部分是正常的,但是第二部分将被包裹在span元素中。通过使用此功能,您可以通过将前半部分的样式与后半部分的样式不同来在标题中创建有趣的效果。

  • 问题内容: 我了解使用CSS格式可以通过以下方式设置每个段落的首字母: 但是,使用此代码后,无法从Web浏览器中突出显示/选择这些“首字​​母”,有没有办法对此进行修改? 编辑-可以选择文本,但是看不到它,如何更改呢? 问题答案: 这是Chrome / ium / WebKit中的错误:https : //code.google.com/p/chromium/issues/detail? id =

  • 问题内容: 突出显示PHP中两个字符串之间的区别的最简单方法是什么? 我正在考虑“堆栈溢出”编辑历史记录页面的内容,其中新文本为绿色,已删除文本为红色。如果有任何预写的函数或类可用,那将是理想的。 问题答案: 您可以使用PHP Horde_Text_Diff包。它满足您的需求,并且也非常可定制。 它也是根据GPL许可的,所以请尽情享受吧!

  • 本文向大家介绍HTML 突出显示,包括了HTML 突出显示的使用技巧和注意事项,需要的朋友参考一下 示例 该<mark>元素是HTML5中的新元素,用于“由于其在另一个上下文中的相关性”而标记或突出显示文档中的文本。1 最常见的示例是用户输入搜索查询并显示结果以突出显示所需查询的搜索结果。 输出: 常见的标准格式是黄色背景上的黑色文本,但是可以使用CSS进行更改。

  • 问题内容: 如果包含关键字,该如何编写整个单词的脚本? 示例: 关键字“ fun”,字符串-鸟很有趣,结果-鸟很有趣*。我做以下 但它只是修饰词。我的鸟是 乐趣 纽约 问题答案: 尝试这个: 匹配关键字前面的任何单词字符(至少)和关键字后面的任何单词字符。 并且我建议您使用转义关键字: 为了支持Unicode,请使用 u 标志,而不要使用:

  • 问题内容: 我需要在段落中突出显示关键字,就像google在其搜索结果中一样。假设我有一个带有博客文章的MySQL数据库。当用户搜索某个关键字时,我希望返回包含这些关键字的帖子,但只显示帖子的一部分(包含搜索关键字的段落)并突出显示那些关键字。 我的计划是这样的: 找到内容中包含搜索关键字的帖子ID; 再次阅读该帖子的内容,并将每个单词放入固定的缓冲区数组(50个单词)中,直到找到关键字。 您能为