若將jdk版本升級到最新版本,java窗體就可以簡單實現(xiàn)窗體的透明效果,用戶可以通過拉動滑塊(slider)調(diào)整窗體透明度,實現(xiàn)窗體不同透明程度的切換。下面讓我簡單實現(xiàn)窗體透明效果,用戶可以做些擴展。
步驟(steps)
打開java開發(fā)工具eclipse軟件,依次選擇“文件”、“新建”、“項目”,在“新建項目”窗口中選擇“java項目”,然后點擊“下一步”按鈕。
在出現(xiàn)的窗體中的“項目名稱”后自定義輸入項目名,然后點擊“完成”按鈕完成項目的創(chuàng)建。
右擊創(chuàng)建的項目,在右鍵列表中依次選擇“新建”、“類”,在“新建類”窗體中輸入自定義類名,勾選相應(yīng)復(fù)選框,點擊“完成”按鈕完成類的創(chuàng)建。
首先,做一些初始化窗體的工作,導(dǎo)入javax.swing.jframe類,實現(xiàn)jframe的繼承,初始化構(gòu)造方法頭并在main方法內(nèi)實例化此類以便做測試。
下面,在構(gòu)造方法中創(chuàng)建窗體,導(dǎo)入javax.swing.jbutton類,在窗體內(nèi)加入按鈕,保持按鈕默認的布局方式,最后設(shè)置窗體顯示,運行程序查看初始效果。
運行java程序后,將出現(xiàn)如下圖所示的初始化窗體界面,用戶需關(guān)閉窗體做下一步代碼的編寫。
添加按鈕btn的actionlistenr()單擊事件,在出現(xiàn)的錯誤中點擊錯誤處,然后自動導(dǎo)入actionlistener類,但是仍然出現(xiàn)錯誤,用戶需再次點擊錯誤處以添加必要的方法實現(xiàn)。
當(dāng)用戶解決兩次錯誤后,系統(tǒng)自動導(dǎo)入了所需包和加入了所需單擊事件的必要方法,直至此步,按鈕單機事件的代碼如下圖所示。
新建setopacity()方法并在按鈕的單擊事件中調(diào)用此方法,然后在此類中作為屬性成員加入jslider滑塊控件。
在新建的setopacity()方法中添加如下代碼,設(shè)置dialog窗體的大小、位置、大小不可改變等屬性,用戶可自定義設(shè)置屬性。
創(chuàng)建jlabel,添加slider滑塊的滑動事件,并在事件中加入方法slider(),當(dāng)然此方法需要新建,待會再新建,讓我們先把setopacity()方法中的代碼添加完成。
繼續(xù)在setopacity()方法中添加代碼,在窗體dialog中加入panel控件,再將lable和slider加入到panel中。
在方法slider()中添加代碼,獲取slider的值以改變透明度值,設(shè)置鼠標移入滑塊時的鼠標指針樣式。
運行java程序,并點擊按鈕,然后出現(xiàn)調(diào)整透明度的窗體,用戶就可以設(shè)置窗體透明度,show出你的個性。
注意事項(attentions)
jslider(0,9,0):jslider(最小值,最大值,初始值)。
com.sun.awt.awtutilities.setwindowopacity(this, (float)(1- value)):com.sun.awt.awtutilities.setwindowopacity(當(dāng)前窗體, 不透明度值),不透明度值越小窗體越透明,當(dāng)value值越大時,(float)(1- value)值越小,船體越透明。
用戶在導(dǎo)入包時,可以簡化包的導(dǎo)入,import java.awt.*、import java.awt.event.*分別表示導(dǎo)入awt及awt.event下的所有類。