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