【问题标题】:RSyntaxTextArea numbers followed by letters are highlighted in a different way [Java]RSyntaxTextArea 数字后跟字母以不同的方式突出显示 [Java]
【发布时间】:2016-08-27 11:40:01
【问题描述】:

我知道我的问题不是很清楚,但我会在这里尝试解释一下: 在我的 java 应用程序中,我使用的是 RSyntaxTextArea 库。当我尝试编写一个由一些数字后跟字母(即 2c、7x、12g)组成的字符串时,这个字符串会改变颜色,与通常的数字或普通字符串不同。 我的问题是:如何使这种类型的“数字”保持黑色作为前景色?

感谢您的提示!

【问题讨论】:

  • 快照上传!
  • 这应该是哪种令牌?
  • 您是否指定了要突出显示的语言。什么是 234 它不是有效代码。
  • 这是一种自定义语言,我从来没有为这种字符串添加过 Token。 “234”只是一个随机数,让你看到数字的正常颜色..
  • 我测试过,但如果我没有设置样式,则所有黑色文本。dis 你设置的样式像textArea.setSyntaxEditingStyle() 。看到这个i.imgur.com/CuPzfNM.png

标签: java jtextarea rsyntaxtextarea


【解决方案1】:

我发现出了什么问题。我使用 TokenMakerMaker 创建自己的语言,并在它创建的 flex 文件中,ErrorNumberFormat 行:

{ErrorNumberFormat}         { addToken(Token.ERROR_NUMBER_FORMAT); }

因此,可能在 RSTA 中将其用作自定义语言时,每当用户键入诸如“3tr”之类的内容(字符串由我的数字后跟字母组成)时,该方案将其识别为错误数字的格式并以不同的方式着色。 为了解决我的问题,我只需在我的应用程序中编写以下代码:

SyntaxScheme scheme = textArea.getSyntaxScheme();
scheme.getStyle(Token.ERROR_NUMBER_FORMAT).foreground = Color.BLACK;
textArea.repaint();
textArea.revalidate();

将此令牌的颜色设置为黑色!

【讨论】:

    猜你喜欢
    • 2013-02-15
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    相关资源
    最近更新 更多