【问题标题】:Is it possible to dynamically update a SWT StyledText widget based on model changes?是否可以根据模型更改动态更新 SWT StyledText 小部件?
【发布时间】:2012-11-15 01:08:47
【问题描述】:

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

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

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

有可能吗?

【问题讨论】:

    标签: java swt listener styledtext


    【解决方案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
            ...
        }
    });
    

    【讨论】:

    • 感谢您的回答。我会尝试这种方式:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 2021-12-11
    • 1970-01-01
    • 2013-10-11
    • 2016-09-28
    • 2010-11-08
    相关资源
    最近更新 更多