1

EDT で doInBackground から特定の関数を実行したいと考えています。私は現在、問題なく動作しているパブリッシュとプロセスを使用してセットアップしています。ただし、パブリッシュとプロセスを使用せずに doInBackground から EDT で関数を実行する方法があるかどうかを知りたいです。また、invokeLater を使用せずに。どうにかしてこれを行うことはできますか?

4

1 に答える 1

2

これは、任意のコードを EDT にキューに入れるのと同じように行います: イベント キューに追加される Runnable を介して:

   protected void doInBackground() throws Exception {

      // code to be called off of the EDT

      SwingUtilities.invokeLater(new Runnable() {
         public void run() {

            // code to be called on the EDT

         }
      });
      return null;
   }
于 2011-10-18T18:00:22.873 に答える