0

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

现在我想知道是否有可能StyledText不使用字符串作为输入,而是使用自定义对象,然后使其Styledtext能够在自定义对象之一更改时自动更新。

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

是否可以?

4

1 回答 1

1

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

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
        ...
    }
});
于 2012-11-27T12:07:42.283 回答