如何在RCP应用程序中自动更新/加载/刷新视图

时间:2012-11-22 07:41:55

标签: java eclipse eclipse-rcp

我正在开发一个RCP应用程序来捕获和显示http请求。该应用程序就像一个代理工具,但功能非常简单。直到现在,我知道一些事件可能触发视图更改:例如:选择。但我不知道如何更新/加载/刷新视图,数据自动更改。在这种情况下,数据应该是捕获的http请求。

你可以给我一些见解吗?感谢。

更新 一些好人告诉我们使用可观察的模式来做到这一点。以下代码段是我的代码。但它没有按预期工作。 ui无法刷新。

IObservableList input = Properties.selfList(Sequence.class).observe(sequences); // Sequence stands for one request, sequences are a list of sequence.

    tableViewer.setContentProvider(new ContentProvider());
    tableViewer.setLabelProvider(new TableLabelProvider());
    tableViewer.setInput(input);

约瑟夫

2 个答案:

答案 0 :(得分:1)

我建议使用观察者模式。您的数据成为主题。每次更改数据时,都要通知您的视图(观察者)刷新。

http://en.wikipedia.org/wiki/Observer_pattern

答案 1 :(得分:0)

如果您解析收到的数据,请查看Eclipse Databinding框架。

使用此框架的想法是,您可以将数据的模型表示(通常是Bean或EMF)中的值与用于显示数据的各种SWT控件绑定。然后,框架将在模型更改时自动更新窗口小部件的内容(如果您允许,则反之亦然: - ))。

有关框架的介绍,请参阅此tutorial - 您可以在网上找到大量示例和文档......

编辑:另请参阅snippets directory了解常见问题的各种解决方案......