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