最近在寫一個(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)容如下


可以看到這個(gè)方法的作用是根據(jù)傳入的b值來啟用或禁用組件。所以,用這個(gè)方法,我們就可以實(shí)現(xiàn)我們的需求了。
接下來,開始操作
先在原始窗口中的按鈕添加監(jiān)聽,實(shí)現(xiàn)跳轉(zhuǎn)新窗口,并把原始窗口的對(duì)象傳給新窗口,這樣才能在新窗口關(guān)閉的時(shí)候把原窗口啟用


然后在新窗口添加窗口關(guān)閉的監(jiān)聽事件,當(dāng)新窗口關(guān)閉時(shí),將原窗口從禁用狀態(tài)改成啟用狀態(tài)
到這里就結(jié)束了,親測(cè)可以實(shí)現(xiàn)需求。如果能夠幫到你,我很開心。
編程的路很長(zhǎng),我在路上。。。