別スレッドからUIの操作を行う場合、DisplayクラスのsyncExecあるいはasyncExecメソッドを使ってスレッドのインスタンスを与えてやる必要があります。これらのメソッドに与えられたスレッドは、Displayオブジェクト内部にストックされ、描画の都合のよりタイミングで実際に実行されます。UIの操作をsyncExecまたはasyncExec経由で実行しない場合、 org.eclipse.swt.SWTException: Invalid thread access の例外が発生するので、SWTのウィジェットの描画をバックグラウンドで実行する場合など、これらのメソッドを呼び出すことは必須です。 イディオムとしては、下に示すようにRunnableインタフェースを継承したクラスのオブジェクトをasyncExecメソッドに与えます。 public Thread1 implements R