1

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);

}

不知道如何保持语法高亮显示,然后显示一些选定的标记。

4

1 回答 1

2

您不能同时使用LineStyleListenerand setStyleRanges,您必须使用所有一个或另一个。

您可以查看 JFaceTextViewer和提供设置样式的方法的类SourceViewer,这些使用。TextPresentationStyledTextsetStyleRanges

于 2014-08-10T08:58:19.177 回答