Java語言從其誕生到現在不過短短五年時間卻已經成為全球最熱門的語言Java程序員正成為IT業其它程序員中薪金最高的職員這一切都應歸功於Java良好的特性簡單面向對象分布式平台無關性可移植性支持多線程等等本文將用Java的多線程特性來實現線程等待提示框
問題的提出
在Java應用程序編程中有時需要在GUI(圖形化用戶界面)中處理一些占用系統資源較多耗費時間較長的事務例如與數據庫進行大批量數據交換大數據量的復雜運算遠程連接服務器等等系統在處理這些事務時如果還是使用GUI所在的線程會導致界面凍結無法刷新看起來好象系統已經崩潰這是一個良好的軟件系統不允許出現的局面
解決問題的途徑
解決上述問題的方法就是采用Java的多線程特性為這些耗時又耗資源的事務再開一個線程單獨運行並在GUI處出現提示框正在執行請等待在線程結束時自動關閉該提示框這樣即避免了上面出現的界面凍結情況又保證了線程的安全性是軟件開發者上佳的選擇
具體實現
()例子
這裡舉一個簡單的例子來介紹如何用JAVA實現線程等待提示框
此例實現一個很簡單的GUI根窗體testFrame是一個JFrame(框架)類在testFrame中放置一個JPanel(面板)testPanel 最後將一個JButton(按鈕)testButton添加到testPanel中
按下testButton系統開始運行一個模擬的耗時又耗資源的事務在標准輸出設備上顯示從到同時出現線程正在運行提示框一旦事務完成(即線程結束)系統自動關閉該提示框
()實現方法
為了達到上述功能可以這樣來實現
當按下按鈕後啟動一個新的線程來完成事務即在標准輸出設備上顯示從到(在代碼中通過TestThread類來實現)緊接著再啟動一個線程來顯示線程正在運行提示框(在代碼中通過ThreadDiag類來實現)
為了使提示框在TestThread結束後自行關閉在TestThread啟動後還啟動了一個DisposeDiag線程這個線程專門用來等待TestThread線程結束後關閉線程正在運行提示框
[] [] [] []
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27675.html