我正在开发一个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);
约瑟夫
答案 0 :(得分:1)
我建议使用观察者模式。您的数据成为主题。每次更改数据时,都要通知您的视图(观察者)刷新。
答案 1 :(得分:0)
如果您解析收到的数据,请查看Eclipse Databinding框架。
使用此框架的想法是,您可以将数据的模型表示(通常是Bean或EMF)中的值与用于显示数据的各种SWT控件绑定。然后,框架将在模型更改时自动更新窗口小部件的内容(如果您允许,则反之亦然: - ))。
有关框架的介绍,请参阅此tutorial - 您可以在网上找到大量示例和文档......
编辑:另请参阅snippets directory了解常见问题的各种解决方案......