作者slalala (不再嘴砲了)
看板java
標題Re: [J2SE] Jdialog的的dispose
時間Wed Mar 12 01:25:49 2008
這只是實驗期間而已
JDialog show= new JDialog(this,true); ///此類別繼承jframe
//-------------中間該有的componet add set都先略過--當作已經做了----///
Object routine =new Object();///這是再做資料探勘的物件
for(String array:routine.getarray()){
//這邊是取得結果
}
show.dispose(); //任務結束show可以揮揮手再見了
可是這個show還是在視窗上= =
我有想過是不是要寫成多執行緒 可是我try的結果好像也不是這麼一回事....
如果show上面有button
我將他addactionlistener
然後在actionPerformed執行dispose()就會正常關掉
因為程式執行時間不會太長
所以不打算用jProgressBar
感謝各位阿
※ 引述《slalala (不再嘴砲了)》之銘言:
: 我現在寫了一個類似data mining的研究實驗(幫人家寫 囧)
: 我想讓介面親切可人 ((  ̄ c ̄)y▂ξ)
: 所以打算讓使用者在按下按鈕進行運算的同時...
: 顯示一個jdialog的彈出視窗。
: 然後顯示正在運算當中 請使用者等待。
: 當其他邏輯演算的物件完成之後,
: 執行dispose();
: 讓jdialog關閉
: 但是我發現直接執行一定會無效耶
: 一定要搭配event才有辦法(ex button)
: 請問是我觀念大錯特錯嗎( ‵□′)
: 還是有什麼好建議呢?
: 先拜謝><
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.71.74
※ 編輯: slalala 來自: 203.73.71.74 (03/12 01:28)
1F:推 supertitler:constructor第二個引述改成false就可以了XD 03/12 01:46
改成false 使用者就可以在主視窗動作 就失去原本的意義
另外 我剛剛嘗試
JDialog a= new JDialog(this,true); //此類別一樣繼承JFrame
JPanel t =new JPanel();
t.setSize(new Dimension(200,200));
a.add(t);
a.setVisible(true);
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
a.dispose();
他還是沒自動在兩秒鐘後關閉阿= =
2F:推 AI3767:因為有modal的對話框會block住, 但是你仍然可以用另一個 03/12 01:59
3F:推 AI3767:執行緒去dispose它 03/12 02:02
請問這樣的block住 會中止其他的正在運算的程序嗎??
我現在就是卡在不知道該用什麼非人工的程序去終止他~_~
※ 編輯: slalala 來自: 203.73.71.74 (03/12 02:21)
4F:推 misgod:被block在a.setVisible(true); 要用另一個執行緒處理才行.. 03/12 08:50