[問題] 請問用dispose關閉frame的方法
簡介:
有2個frame,用第一個frame上的按鈕來控制第二個frame的開關。
每一次開啟第二個frame都要抓螢幕上的圖做為第二個frame的背景,
但是一直無法成功,只有第一次開起來時會抓,
關掉再開不會抓新的螢幕畫面,還是顯示舊畫面。
開:frame2.pack();
frame2.setVisible(true);
關:frame2.dispose();
---------------------------------------------
詳細問題內容:
我做了2個frame:
frame1上有按鈕,按了以後會抓取螢幕畫面,
然後建立frame2,將抓取的畫面做為frame2的背景。
然後如果再按一下frame1上這個按鈕,則可將frame2關掉。
而frame1視窗一直都在畫面上沒有被關掉。
可是有2個問題一直想不出解決的辦法:
問題1:
當我按下frame1的按鈕來關閉frame2後 → frame2.dispose();
再按一下按鈕建立新的frame2,frame2的背景還是第一次所抓的螢幕畫面,
而不是我這次按下時抓的螢幕畫面…
不管我螢幕變成什麼畫面,新建立的frame2總是會顯示第一次抓的畫面…
看了一下dispose()的說明,好像是將frame的component釋出,
但下次再建立此frame,則會回到上一次的狀態...
請問我要怎麼樣每次建立frame2時,都抓到最新的螢幕畫面呢?
問題2:
因為我的frame2的背景是抓取整個螢幕而來的,
所以會連frame1的視窗畫面也抓下來,放入frame2。
此時如果我把frame1移到旁邊,則會看到原處有frmae1的畫面,
變成螢幕上有2個frame1的畫面。
我不想frame1視窗畫面被抓下來,所以在想解決方法。
目前是想到,在按下按鈕時,先將frame1縮至工作列,
然後抓取螢幕,放入frame2。然後再將frame1恢復。
不過我不知道要怎麼用frame1裡的panel上的按鈕來控制frame1…
以下是我的程式碼:
http://www.badongo.com/pic/3841262
DFrame(就是frame1)含有CPanel,CPanel裡放入1個按鈕,並監聽此按鈕。
此按鈕可以建立或關閉frame2,frame2含有DrawPanel,DrawPanel可以抓螢幕畫面。
圖中只有右邊下面那個有註明的是真正的視窗,
其他所有地方包括下面的工作列都是frame2的背景(全螢幕)。
問題很長,謝謝大家有耐心看完~
煩麻各位高手給我一點建議。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.213.208
※ 編輯: woodymonkey 來自: 140.120.213.208 (06/24 01:24)
推
06/24 03:08, , 1F
06/24 03:08, 1F
→
06/25 16:20, , 2F
06/25 16:20, 2F
→
06/25 16:23, , 3F
06/25 16:23, 3F
→
06/25 16:29, , 4F
06/25 16:29, 4F