【发布时间】:2016-12-20 16:43:47
【问题描述】:
我正在使用 Eclipse RCP。我有一个标准方法 createPartControl(Composite parent) 的视图,我已实现如下:
public void createPartControl(Composite parent) {
this.parent = parent;
createContent();
}
在 createContent() 中,复合父对象获取了一些我想要更新的元素(例如,具有某物状态的表)。因此,我有一个更新按钮。当你点击它时,所有 parent 的孩子都应该被释放,方法 createPartControl(parent) 应该被再次执行。
这是我目前的代码:
buttonUpdate = new Button(parent, SWT.NONE);
buttonUpdate.setText("Update");
GridData gridData = new GridData(80, 30);
buttonUpdate.setLayoutData(gridData);
buttonUpdate.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
switch (e.type) {
case SWT.Selection:
for (Control control : parent.getChildren()) {
control.dispose();
}
createPartControl(parent);
break;
}
}
});
当我启动我的应用程序并单击更新按钮时,窗口变为空但没有出现新内容。只有当我在我的应用程序中打开另一个视图然后切换回来时,我才会看到更新的内容。如何使新内容立即可见?
【问题讨论】: