問題があります。ボタンを精緻に押された任意の時間が始まるようにプログレスバーが時間内に更新されない
Button button = new Button(groupInitialize, SWT.NONE);
ProgressBar bar= new ProgressBar(group, SWT.SMOOTH);
は、私はボタンのためのリスナーを設定します。私の(日食4ベース)GUI上で、私は2つのオブジェクトを持っています。この精緻化の間、ステータスバーを更新する必要があります。
// Button listener definition!
button .addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(final Event event) {
Runnable run = new Runnable() {
@Override
public void run() {
Display display = PlatformUI.getWorkbench().getDisplay();
display.asyncExec(new Runnable() {
public void run() {
myLongLastingMethod();
}
});
}
};
new Thread(run).start();
}
});
、これは私がmyLongLastingMethod()に何をすべきかです:(プログレスバーを更新-should-)
private void myLongLastingMethod() {
action1();
update();
action2();
update();
action3();
update();
}
そして最後に更新方法:
が
を更新しましたprivate void update() {
if (progressBar.isDisposed()) {
return;
}
int selection = progressBar.getSelection();
progressBar.setSelection(++selection);
}
私は何か間違っていると確信しています... Any any私デア/それがうまくいかない理由を助ける?
:公共ボイドのhandleEvent(最終イベントイベント){myLongLastingMethod();} ? – Kasper
まだバックグラウンドスレッドを実行する必要はありません。答えにコードを追加してください。 –
私はそれを持っていますが、私たちはUIスレッドではない(実際に私は例外がある)実行メソッドにはまだ動作しません。 – Kasper