Java透明窗體的設(shè)置方法
若將JDK版本升級(jí)到最新版本,Java窗體就可以簡(jiǎn)單實(shí)現(xiàn)窗體的透明效果,用戶可以通過拉動(dòng)滑塊(Slider)調(diào)整窗體透明度,實(shí)現(xiàn)窗體不同透明程度的切換。下面讓我簡(jiǎn)單實(shí)現(xiàn)窗體透明效果,用戶可以做些擴(kuò)展。
步驟(STEPS)
打開Java開發(fā)工具Eclipse軟件,依次選擇“文件”、“新建”、“項(xiàng)目”,在“新建項(xiàng)目”窗口中選擇“Java項(xiàng)目”,然后點(diǎn)擊“下一步”按鈕。
在出現(xiàn)的窗體中的“項(xiàng)目名稱”后自定義輸入項(xiàng)目名,然后點(diǎn)擊“完成”按鈕完成項(xiàng)目的創(chuàng)建。
右擊創(chuàng)建的項(xiàng)目,在右鍵列表中依次選擇“新建”、“類”,在“新建類”窗體中輸入自定義類名,勾選相應(yīng)復(fù)選框,點(diǎn)擊“完成”按鈕完成類的創(chuàng)建。
首先,做一些初始化窗體的工作,導(dǎo)入javax.swing.JFrame類,實(shí)現(xiàn)JFrame的繼承,初始化構(gòu)造方法頭并在main方法內(nèi)實(shí)例化此類以便做測(cè)試。
下面,在構(gòu)造方法中創(chuàng)建窗體,導(dǎo)入javax.swing.JButton類,在窗體內(nèi)加入按鈕,保持按鈕默認(rèn)的布局方式,最后設(shè)置窗體顯示,運(yùn)行程序查看初始效果。
運(yùn)行Java程序后,將出現(xiàn)如下圖所示的初始化窗體界面,用戶需關(guān)閉窗體做下一步代碼的編寫。
添加按鈕BTN的ActionListenr()單擊事件,在出現(xiàn)的錯(cuò)誤中點(diǎn)擊錯(cuò)誤處,然后自動(dòng)導(dǎo)入ActionListener類,但是仍然出現(xiàn)錯(cuò)誤,用戶需再次點(diǎn)擊錯(cuò)誤處以添加必要的方法實(shí)現(xiàn)。
當(dāng)用戶解決兩次錯(cuò)誤后,系統(tǒng)自動(dòng)導(dǎo)入了所需包和加入了所需單擊事件的必要方法,直至此步,按鈕單機(jī)事件的代碼如下圖所示。
新建setOpacity()方法并在按鈕的單擊事件中調(diào)用此方法,然后在此類中作為屬性成員加入JSlider滑塊控件。
在新建的setOpacity()方法中添加如下代碼,設(shè)置dialog窗體的大小、位置、大小不可改變等屬性,用戶可自定義設(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)整透明度的窗體,用戶就可以設(shè)置窗體透明度,show出你的個(gè)性。
注意事項(xiàng)(ATTENTIONS)由于滑塊的值必須為整數(shù),并且透明度是0.0-1.0,所以滑塊這樣設(shè)置:JSlider slider=new JSlider(0,9,0),滑塊的值除以10.0:double value=slider.getValue()/10.0,透明度設(shè)置:com.sun.awt.AWTUtilities.setWindowOpacity(this, (float)(1- value))。由于滑塊的值必須為整數(shù),并且透明度是0.0-1.0,所以滑塊這樣設(shè)置:JSlider slider=new JSlider(0,9,0),滑塊的值除以10.0:double value=slider.getValue()/10.0,透明度設(shè)置:com.sun.awt.AWTUtilities.setWindowOpacity(this, (float)(1- value))。
JSlider(0,9,0):JSlider(最小值,最大值,初始值)。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)值越小,船體越透明。com.sun.awt.AWTUtilities.setWindowOpacity(this, (float)(1- value)):com.sun.awt.AWTUtilities.setWindowOpacity(當(dāng)前窗體, 不透明度值),不透明度值越小窗體越透明,當(dāng)value值越大時(shí),(float)(1- value)值越小,船體越透明。
用戶在導(dǎo)入包時(shí),可以簡(jiǎn)化包的導(dǎo)入,import java.awt.*、import java.awt.event.*分別表示導(dǎo)入awt及awt.event下的所有類。用戶在導(dǎo)入包時(shí),可以簡(jiǎn)化包的導(dǎo)入,import java.awt.*、import java.awt.event.*分別表示導(dǎo)入awt及awt.event下的所有類。
相關(guān)文章
SpringBoot中使用@ControllerAdvice注解詳解
這篇文章主要介紹了SpringBoot中使用@ControllerAdvice注解詳解,@ControllerAdvice,是Spring3.2提供的新注解,它是一個(gè)Controller增強(qiáng)器,可對(duì)controller中被 @RequestMapping注解的方法加一些邏輯處理,需要的朋友可以參考下2023-10-10mybatis plus條件構(gòu)造器queryWrapper、updateWrapper
這篇文章主要介紹了mybatis plus條件構(gòu)造器queryWrapper、updateWrapper,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Java 如何快速實(shí)現(xiàn)一個(gè)連接池
有沒有一個(gè)通用的庫(kù)可以快速實(shí)現(xiàn)一個(gè)線程池呢?得益于 Java 完善的生態(tài),前人們針對(duì)這種需要開發(fā)了一個(gè)通用庫(kù):Apache Commons Pool(下文簡(jiǎn)稱 ACP)。本質(zhì)上來說,ACP 庫(kù)提供的是管理對(duì)象池的通用能力,當(dāng)然也可以用來管理連接池了!2021-05-05Spring 與 JDK 線程池的簡(jiǎn)單使用示例詳解
這篇文章主要介紹了Spring 與 JDK 線程池的簡(jiǎn)單使用,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09idea中MavenWeb項(xiàng)目不能創(chuàng)建Servlet的解決方案
這篇文章主要介紹了idea中MavenWeb項(xiàng)目不能創(chuàng)建Servlet的解決方案,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02關(guān)于IDEA 2020.3 多窗口視圖丟失的問題
這篇文章主要介紹了關(guān)于IDEA 2020.3 多窗口視圖丟失的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Spring的編程式事務(wù)TransactionTemplate的用法詳解
TransactionTemplate提供了一種在代碼中進(jìn)行編程式事務(wù)管理的方式,使開發(fā)人員能夠在方法級(jí)別定義事務(wù)的開始和結(jié)束點(diǎn),本文介紹了Spring框架中TransactionTemplate的用法,感興趣的朋友跟隨小編一起看看吧2023-07-07Spring中ApplicationEvent事件機(jī)制源碼詳解
這篇文章主要介紹了Spring中ApplicationEvent事件機(jī)制源碼詳解,Spring中與事件有關(guān)的接口和類主要包括ApplicationEvent、ApplicationListener,下面來看一下Spring中事件的具體應(yīng)用,需要的朋友可以參考下2023-09-09