2012-01-10 21 views
0

私はJava Messengerを作っています。私はログインダイアログを行い、接続ボタンをクリックすると、アニメーションGIFが表示されます。JavaアニメーションGIFとMySQL接続

問題は、MySQL接続とクエリが処理されている間、アニメーションGIFが移動を停止することです。

私は新しいスレッドでMySQLの接続とクエリを投げるが、それでも同じ:

Thread connectionThread = new Thread(new Runnable() { 

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

        public void run() { 

         //Database conection 
         OlaDB.createConnection(); 
... 

は、私は私のGIFの凍結を防ぐために何ができますか? Swingのプログラムが長時間実行中のタスクを実行する必要がある場合、それは通常、バックグラウンドスレッドとして知られているワーカースレッド、のいずれかを使用しています

答えて

6

SwingWorkerUsing a Swing Worker Thread.

を見ても、なぜGUIがフリーズの詳細については、とSwingの労働者を使用しての作業、たとえばConcurrency in Swing上にアップ読みました。 (@camickr経由で)

+1

+1、なぜGUIの詳細については、[Concurrency in Swing](http://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html)を参照してください。 Swing Workerを使用する実例については、 – camickr

+0

@camickrが編集に回答しました:) – COD3BOY