【问题标题】:How to color keywords in a Java text editor?如何在 Java 文本编辑器中为关键字着色?
【发布时间】:2013-10-28 18:57:18
【问题描述】:

我有一个使用 JTextPane 用 Ja​​va 编写的小型工作文本编辑器,我想为特定的单词着色。它的工作方式与 Java(在 Eclipse 中)中的关键字被着色的方式相同;如果它们是关键字,则在用户完成输入后它们会突出显示。我是用 Java 实现的文本编辑器的新手,有什么想法吗?

【问题讨论】:

  • 这是一个相当复杂的任务,如果你能找到一个第三方库,那将大大简化问题。话虽如此,如果您真的想尝试一下,可以看看this examplethis example...
  • @MadProgrammer 不要让它变得复杂。请改用JSyntaxPane ;-) 我知道你是一个简单的人。 :-P
  • @LittleChild 这不是关于我,而是 OP 想要的 ;)
  • @MadProgrammer 让每个人都轻松吗?? :P
  • @LittleChild OP 可能不会使用 3rd 方库,因此展示单一选择实际上可能是一个糟糕的选择。此外,一旦意识到任务的复杂性,他们实际上可能会决定他们需要一个 3rd 方库。

标签: java swing colors text-editor jtextpane


【解决方案1】:

在计算机科学中,词法分析是将一个 字符序列转化为记号序列。一个程序或 执行词法分析的函数称为词法分析器, 词法分析器、分词器、[1] 或扫描仪。词法分析器通常作为单个存在 由解析器或其他函数调用的函数,或者可以是 在无扫描仪解析中与解析器结合使用。

话虽如此,这并非易事。你需要一个高级库来做到这一点。它会减轻你的任务。出路是什么?

使用ANTLR。这是它的网站所说的:

ANTLR 是一个强大的解析器生成器,您可以使用它来读取, 处理、执行或翻译结构化文本或二进制文件。它的 在学术界和工业界广泛用于构建各种语言, 工具和框架....
NetBeans IDE 使用 ANTLR 解析 C++。

到了,问题解决了。 ANTLR 的作者还有一本关于如何使用 ANTLR 的书,如果你想学习如何使用它,可以购买。

给你足够的大脑融化,有一个开箱即用的解决方案可供你使用:JSyntaxPane。就像任何 JCOmponent 一样,您初始化它并将其弹出到 JFrame 中。它就像一个魅力。它支持除 Java 之外的多种语言

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    • 2014-09-21
    相关资源
    最近更新 更多