各種Tips |
Unlimited Island |
とりあえず色々。新しいものが上になるように並べてあります。
SWTの各種操作は、スレッド上で実行すると以下のようなエラーが発生してしまいます。
org.eclipse.swt.SWTException: Invalid thread access
アクションは全てスレッド上で動作しているので、これは困ります。
解決するには UIJob クラスを使います。
class SampleUIJob extends UIJob {
public SampleUIJob(String name) {
super(name);
}
@Override
public IStatus runInUIThread(IProgressMonitor monitor) {
// ここに各種処理を記述
return Status.OK_STATUS;
}
}
こんな感じでJobクラスを定義します。
実行するには…
SampleUIJob job = new SampleUIJob("Job Name"));
job.schedule();
このように、schedule() メソッドをCALLするだけです。
