是否可以根据模型更改动态更新SWT StyledText小部件



我正在开发SWTStyledText小部件。我通过提供文本尝试了setStyleRanges()方法和LineStyleListener方法。

现在我想知道是否有可能不将StyledText与String一起用作输入,而是与自定义对象一起使用,然后使该Styledtext能够在其中一个自定义对象更改时自动更新。

例如,我有一个Content类,它有一个文本属性和一个布尔属性(isBold)。我会设置一个Content对象列表作为StyledText的输入,当其中一个对象的isBold属性设置为true时,StyledText将被刷新,文本字体将设置为粗体。

有可能吗?

不,我不这么认为。您可以使用TextViewer并在其文档上添加更改侦听器,以使您的工作更轻松,从而只将样式范围应用于新添加的修改。但你需要自己设置风格范围。

TextViewer viewer = new TextViewer();
viewer.getDocument().addDocumentListener(new IDocumentListener() {
@Override
public void documentChanged(final DocumentEvent event) {
// use event.fText, event.fOffset etc to apply changes to document
...
}
});

最新更新