[問題] 如何在視窗輸入參數後,繼續執行main?
我寫了一個視窗介面來輸入我這個程式要的參數
我知道用JOption也可以...只是想要一次全部輸入秀出來,所以還是用JFrame
,我設定一個布林變數done來判斷是否有完成輸入,在視窗開啟之後,寫一個while
去等待,當done變成true時才能離開no op的while loop繼續往下做,
結果發現每次輸入完之後,while都不會停...但若是把while拿掉,還沒等到參數輸入完成
它就往下做了。
我在想會不會是java把while那段執行放到另一個cpu上做了,所以當裡面判斷式的布林
值改變了,但是他沒有即刻更新....請問這個問題該怎解呢?
以下是有問題的程式碼:
//座標初始設成無效的數值,用來辨認參數是否有在GUI介面被寫入
Coordinate tip=new Coordinate(-50,-50);
Coordinate root=new Coordinate(-50,-50);
ManualInputPanel manual=new ManualInputPanel(fileName,tip,root);
manual.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
manual.setSize(800,200);
manual.setVisible(true);
//等待參數輸入完成(這個部分試過用isvisible()或是isshowing()結果都一樣
while(!manual.isDone())
{
;
}
manual.setVisible(false);
double dis=Coordinate.distance(tip, root);
//做尺寸正規化
Scaling scale=new Scaling(new ScaleNormalize(dis).getScale(),spareImg);
gray=scale.getImg();
writebmp.SaveGray(output+"8-大小正規化-"+FileName,gray);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 175.181.120.39
※ 編輯: Makoto0813 來自: 175.181.120.39 (12/05 09:19)
推
12/05 09:25, , 1F
12/05 09:25, 1F
→
12/05 09:31, , 2F
12/05 09:31, 2F
意思是說要做同步處裡thread的意思嗎? 是要繼承runnable去做的意思嗎?
推
12/05 09:45, , 3F
12/05 09:45, 3F
→
12/05 09:52, , 4F
12/05 09:52, 4F
→
12/05 11:18, , 5F
12/05 11:18, 5F
※ 編輯: Makoto0813 來自: 175.181.120.39 (12/05 11:21)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 7 篇):