2012-01-10 45 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凍結?

回答

6

當一個Swing程序需要執行一個長時間運行的任務,它通常採用工作線程,又稱後臺線程之一。

看一看SwingWorkerUsing a Swing Worker Thread.

也對Concurrency in Swing閱讀了關於爲什麼GUI凍結和使用Swing的工人的工作示例的詳細信息。 (via @camickr)

+1

+1,閱讀[併發中的Swing](http://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html)瞭解更多關於爲什麼GUI凍結和使用Swing Worker的工作示例。 – camickr 2012-01-10 06:38:54

+0

@camickr編輯回答:) – COD3BOY 2012-01-10 06:41:47