多線程監聽按鈕控件(源代碼)

     本案例的運行圖像如下圖所示。在運行過程中,“藍色”、“黑色”、“紅色”按鈕按下後,會使得窗體的背景色改變爲對應的顏色。而,“開啓/停止閃爍”按鈕則會開啓或者停止頁面背景隨機改變的功能。
多線程監聽按鈕控件(源代碼)
        需要注意的技術點有這麼幾點:
        1> 按鈕的監聽事件寫法(注意 import 相應的類)
        關鍵代碼如下,這是類似 Android之中採用匿名內部類的方式寫的監聽事件。監聽鼠標的單擊操作,單擊後將背景框的背景色改爲黑色多線程監聽按鈕控件(源代碼)
        2> 採用線程控制背景隨機顏色改變
        關鍵代碼如下:
首先申明的類必須是 Thread 的子類 或者 支持 Runnable 接口:
多線程監聽按鈕控件(源代碼)
接着,需要重載線性啓動的 run() 函數——這段代碼是線程沒休眠1s,讓窗體 (contentPane)背景色隨機改變1次。注意隨機數的生成方式:
多線程監聽按鈕控件(源代碼)
再者,在上面的代碼中,runningFlag 是一個內置的判斷標誌,用於停止或開啓窗體顏色隨機改變的功能。
最後,創建新線程,啓動新線程——採用 Thread 的構造函數爲 frame 構造一個名稱爲“frame”的線程 xian
多線程監聽按鈕控件(源代碼)
        3> 將數據參數送入線程的方法
        將數據、參數傳到線程中,目前有兩種方式: 由線程調用類內部的參量,或者在線程中調用 回調函數。這裏採用的是在線程中,調用類內部參量的方法。具體步驟如下:
首先,需要在類的內部定義一個參量——這裏採用的是 runningFlag 作爲參數
多線程監聽按鈕控件(源代碼)
接着,如上圖所示,在類的內部覆蓋線程的 run() 函數時,調用這個參量即可。

附:
    案例的源代碼下載地址:http://yun.baidu.com/s/1pJjvs07#dir/path=/源代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章