私はEclipse RCPを使っています。そこで私は次のように私が実装されている標準的な方法createPartControl(コンポジット親)との見解を持っている:createContentでコンポジットの子を直ちに表示してSWTに再度ロードする方法
public void createPartControl(Composite parent) {
this.parent = parent;
createContent();
}
()、コンポジット親はいくつかの要素(例えば、何かの状態を持つテーブル)を取得しますこれは私が更新したいものです。したがって、私は更新ボタンを持っています。クリックすると親の子をすべて削除し、createPartControl(親)メソッドを再度実行する必要があります。
これは、そのために私の現在のコードです:
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;
}
}
});
私は自分のアプリケーションを起動し、更新ボタンをクリックすると、ウィンドウが空になりますが、新しいコンテンツは表示されません。私がアプリで別のビューを開いた後、元に戻すと、更新されたコンテンツが表示されます。すぐに新しいコンテンツを表示するにはどうすればいいですか?
申し訳ありませんが、私たちの投稿は時間的に重複しています。しかし、ありがとう! – LCP