窗口跳轉(zhuǎn)后不能再操作原窗口(JAVA swing)

最近在寫一個(gè)java窗體程序,有多個(gè)窗口跳轉(zhuǎn),需求是窗口跳轉(zhuǎn)后不能再操作原窗口。請(qǐng)教朋友后,知道可以用JDialog來實(shí)現(xiàn),JDialog就是讓跳轉(zhuǎn)之后的窗口變成對(duì)話框,實(shí)質(zhì)上已經(jīng)不是JFrame了。

那么,如何不利用JDialog來實(shí)現(xiàn)這個(gè)需求呢?

其實(shí),在JFrame中有這么一個(gè)方法,叫setEnable(boolean b),這個(gè)方法是從java.awt.Component類中繼承過來的,內(nèi)容如下


![在這里插入圖片描述](https://img-blog.csdnimg.cn/20190705220153492.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNzgxMzk5,size_16,color_FFFFFF,t_70)

可以看到這個(gè)方法的作用是根據(jù)傳入的b值來啟用或禁用組件。所以,用這個(gè)方法,我們就可以實(shí)現(xiàn)我們的需求了。

接下來,開始操作

先在原始窗口中的按鈕添加監(jiān)聽,實(shí)現(xiàn)跳轉(zhuǎn)新窗口,并把原始窗口的對(duì)象傳給新窗口,這樣才能在新窗口關(guān)閉的時(shí)候把原窗口啟用


![在這里插入圖片描述](https://img-blog.csdnimg.cn/20190705220216226.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNzgxMzk5,size_16,color_FFFFFF,t_70)

然后在新窗口添加窗口關(guān)閉的監(jiān)聽事件,當(dāng)新窗口關(guān)閉時(shí),將原窗口從禁用狀態(tài)改成啟用狀態(tài)

到這里就結(jié)束了,親測(cè)可以實(shí)現(xiàn)需求。如果能夠幫到你,我很開心。

編程的路很長(zhǎng),我在路上。。。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容