質問: スレッドとSwing画面を同期させる方法を探していま す。 Javaは最新版です。 やりたいことは、ソケットから受信したデータを リアルタイムに画面に出すという事です。 SwingWorkerというクラスを見つけましたが、 時間のかかる処理をスレッド化して、 完了を待つことに特化している様に見えます。 これを上記の処理に無理やり適用すべきなのか、 もっと他に方法があるのかをお聞きしたいです。 .NETでいうところの、 Form.Invoke(MethodInvoker) みたいなことがしたいです。 よろしくお願い致します。
回答: ありがとうございました。 invokeLater で解決しました。 class onThread implements Runnable { @Override public void run() { // 別スレッド ThreadTimer.Sleep( 5000 ); System.out.println( EventQueue.isDispatchThread() ); SwingUtilities.invokeLater( new onComplete() ); } } class onComplete implements Runnable { @Override public void run() { // メインスレッド System.out.println( EventQueue.isDispatchThread() ); _buttonRun.setText( "onComplete" ); } }