StyledText小部件显示了一段Java代码,它使用JavaLineStyler进行语法突出显示。但是,我想使用
显示一些令牌codeViewer.setStyleRanges(sranges); //sranges is an array of StyleRange
但看起来StyledText小部件源中的以下代码片段阻止了第二轮样式更改。
public void setStyleRanges(StyleRange[] ranges) {
checkWidget();
if (isListening(ST.LineGetStyle)) return;
if (ranges == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
setStyleRanges(0, 0, null, ranges, true);
}
不确定如何保持语法高亮显示活动,然后显示一些选定的标记。
答案 0 :(得分:2)
您不能同时使用LineStyleListener
和setStyleRanges
,必须使用所有这些。
您可以查看JFace TextViewer
,SourceViewer
和TextPresentation
类,这些类提供了在StyledText
上设置样式的方法,这些类使用setStyleRanges
。