我的问题来自here
我得到了答案:
Matcher komen=Pattern.compile(pattern).matcher(source.getText());
while(komen.find())
{
StyleContext sc = StyleContext.getDefaultStyleContext();
AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Background, randomColor);
aset = sc.addAttribute(aset, StyleConstants.FontFamily, "Concolas");
source.select(komen.start(), komen.end());
source.setCharacterAttributes(aset, false);
}
但是,它没有在目标上着色。
例如,这里是我的模式。
1. Pattern.compile("package").matcher(paket.group());
2. String getPack=Pattern.compile("(package\\s+)|(\\/\\/.*)|(;)").matcher(paket.group()).replaceAll("");
Pattern.compile(getPack.replaceAll("\\s", "")).matcher(paket.group());
3. Pattern.compile("import").matcher(impor.group());
4. Pattern.compile("pustaka").matcher(impor.group());
5. String getPack=Pattern.compile("(import\\s+)|([\\w$*]+\\s*;)|(\\/\\/.*)|(\\s)").matcher(impor.group()).replaceAll("");
Matcher getPackage=Pattern.compile(getPack.replaceAll("\\.$", "")).matcher(impor.group());
这是我的结果: