[問題] 讓兩個JFrame互斥(一次只能Enabled一個 …

看板java作者 (kk)時間16年前 (2009/06/07 00:44), 編輯推噓4(405)
留言9則, 4人參與, 最新討論串1/2 (看更多)
我目前有兩個JFrame a跟b a是主要的Frame 是整個程式流程的主Frame... 我想在某個事件發生後才呼叫b這個frame 然後b被呼叫時a不可以被使用... 等到b視窗被關閉後才可以繼續使用a 我是有在b被喚起的那段程式碼上下各用a.setEnable(false) 跟setEnable(true) 去包住b的那行程式碼 可是這樣還是沒有用 因為b被喚起的時候 他馬上就直接跑下去執行setEnable(true)了..所以等於沒效 請問像我這樣需求來說應該要怎樣設計才對呢 就我想問說Frame 與 Frame有沒有優先權的api可以使用呢? 當b在用時a不可以被使用.. 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.30.197

06/07 00:47, , 1F
等b也發生某個事件後再dispose b啊
06/07 00:47, 1F

06/07 00:52, , 2F
我原本就這樣設計 但是a還是一樣會被setEnabled...
06/07 00:52, 2F
他兩個Frame好像就是獨立作業一樣 不管b有沒有被dispose 他都還是會往下跑到setEnable(true)那行 T_T ※ 編輯: kkman0120 來自: 114.45.30.197 (06/07 00:53) ※ 編輯: kkman0120 來自: 114.45.30.197 (06/07 00:54) ※ 編輯: kkman0120 來自: 114.45.30.197 (06/07 01:07)

06/07 01:10, , 3F
通常會使用 modal dialog 來製作 b 的部份。
06/07 01:10, 3F

06/07 01:19, , 4F
請問一下modal應該怎麼做呢??這樣做就可以達成需求嘛?
06/07 01:19, 4F

06/07 13:09, , 5F
b 由原本的JFrame 改用JDialog
06/07 13:09, 5F

06/07 14:36, , 6F
我有改弄JDialog 但是還是一樣的效果 是少了什麼嘛
06/07 14:36, 6F

06/07 14:45, , 7F
那個啊, 你原來的寫法不改... 應該用什麼都是一樣的結果吧...
06/07 14:45, 7F

06/07 14:48, , 8F
a->unEnable a->new b->發生某個事件->dispose b->enable a
06/07 14:48, 8F

06/07 15:23, , 9F
我原來的方式就跟樓上寫的一樣阿@@ 改成JDialog還是不行
06/07 15:23, 9F
文章代碼(AID): #1AAfpY3a (java)
文章代碼(AID): #1AAfpY3a (java)