RSyntaxTextArea数字后跟字母以不同的方式突出显示[Java]

时间:2016-05-02 16:17:14

标签: java jtextarea rsyntaxtextarea

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

enter image description here

感谢您的提示!

1 个答案:

答案 0 :(得分:0)

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

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

所以,可能的话,在RSTA中使用它作为自定义语言时,只要用户键入类似“3tr”(字符串组成我的数字后跟字母),该方案就会认为它就像是一个错误。数字的格式和以不同的方式colores它。 为了解决我的问题,我只需在我的应用程序中编写此代码:

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

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