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

时间:2012-11-27 11:59:10

标签: java swt listener styledtext

我正在使用SWT StyledText小部件。我通过提供文字尝试了setStyleRanges()方法和LineStyleListener方法。

现在我想知道是否有可能使用StyledText不使用String作为输入但使用自定义对象然后使Styledtext能够在其中一个自定义对象时自动更新变化。

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

有可能吗?

1 个答案:

答案 0 :(得分:1)

不,我不这么认为。您可以使用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
        ...
    }
});