Re: [問題] 如何在視窗輸入參數後,繼續執行main?

看板java作者 (畢業了..@@")時間13年前 (2012/12/05 14:00), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串4/7 (看更多)
※ 引述《Makoto0813 (多愁善感的中學二年級生)》之銘言: : 可能我講得不夠清楚 : 我是照著書本上做的,所以該有的lisener或handler都有放,雖然是初學有些不是很懂 : 我寫這個程式的主要用途是將一個資料夾裡的影片檔一張張做處裡 : 要是沒法處理,就在try...catch結構裡面手動輸入參數讓他還是能生出東西 : 後來我查到問題可能在我寫的GUI是JFrame,他不支援同步處理,要是我沒法讓main : 去等待,他會沒等我輸入完,main還是跑他自己的往下個for loop走 : 繼續跳下一張圖然後不斷產生新的輸入介面視窗這樣... : 在網路上剛好看到有人也有一樣的問題,有人的回應是說可以將JFrame換成JDialog, : 它可以讓main去等待,不然就只能實作多執行緒的同步處理了(沒做過...) 基本上main的執行是一個腸子通到底的 GUI的行為是event driven的,有事件發生則callback 硬要把這兩個整在一起本來就不是太好, 建議還是就當做純GUI application去寫比較恰當 如果真的還是堅持要用你的寫法 比較正確的做法是new一個Object當做同步用 public class MyFrame { public Object sync = new Object(); //... } main這邊要呼叫sync.wait() 而GUI這邊輸入完成後呼叫sync.notify() 用while loop真的有點暴力.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.251.162 ※ 編輯: popcorny 來自: 220.135.251.162 (12/05 14:12) ※ 編輯: popcorny 來自: 220.135.251.162 (12/05 14:12) ※ 編輯: popcorny 來自: 220.135.251.162 (12/05 14:13)

12/05 14:21, , 1F
感謝各位版友的意見 很有幫助!
12/05 14:21, 1F

12/06 12:00, , 2F
while 比較像古早時期的寫法
12/06 12:00, 2F
文章代碼(AID): #1GlkBb5i (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 4 之 7 篇):
文章代碼(AID): #1GlkBb5i (java)