Re: java JDialog 的一個問題

看板java作者時間18年前 (2006/01/04 16:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ 引述《PsMonkey.bbs@ptt.cc (痞子軍團團長)》之銘言: > ※ 引述《fantasystar.bbs@whshs.cs.nccu.edu.tw (小光先生)》之銘言: > : 以下code只保留精神部份 > : program extends JFrame{ > : adialog testDialog; > : testDialog.messageReceived(message); <--------1 > : } > : adialog extends JDialog{ > : JTextArea > : public messageReceived(message){ > : JTextArea.append(message); > : } > : JButton.addActionListener( > : messageReceived(message); <-------------2 > : ); > : } > : 在program裡呼叫messageReceived(), > : JTextArea.append(message);好像沒被執行一樣的,JTextArea沒動靜, > : 但在 2的部份,在adialog裡呼叫就能正確執行, > : 完全不知道是怎麼一回事了.... > : 請問有先進有遇過類似的問題嗎? > 你的程式碼實在是太 "精神" 了 > 實在看不出什麼花樣出來... > 雖然說 po 在網路上的程式法要精練過,比較合乎網路禮節 > 但是,這實在有一點... 看不懂阿阿阿阿.... 你應該有將你的JDialog與JFrame設為互相關聯的modal dialog吧。 當你在呼叫modal dialog的show();時,main-thread會由呼叫的地方跑到 dialog那邊,直到該dialog被close掉才會回到本來呼叫show();的地方.. 所以你的testDialog.messageReceived(message);不是不會執行到,而是 要等到你的dialog關掉時才又執行,但因為關掉了你也看不到效果.. XD -- ˙ ˙ ◢▇◣ ◢▇◣ ▇ ▇ █▇◣ █▇◣ █▇◣ ◢▇◣ █▇▉ ˙ █ █ █ █ █ ▉ █ ▉ █▆ █▆▉ ▉▉▉ ˙ ◥█◤ ◥█◤ ◥█◤ ██◤ █◥▆ █▆◤ █ ▉ ▉▉▉˙ CDBBS 中正築夢園BBS站 歡迎蒞臨參觀 cd.twbbs.org (140.123.20.230) http://cd.twbbs.org Author: lazyf ★ From: 140.123.105.25
文章代碼(AID): #13ku3100 (java)
文章代碼(AID): #13ku3100 (java)