在批處理文件運(yùn)行時顯示不確定的JProgressBar我已經(jīng)瀏覽了很長一段時間,谷歌也在尋找這個問題的答案,但我似乎找不到真正有效的答案。我會從頭開始:我創(chuàng)建了一個Java類,它的方法在后臺運(yùn)行一個批處理文件(命令窗口不出現(xiàn))。這個程序工作得很好,只是對最終用戶來說有點(diǎn)混亂,因?yàn)榕幚砦募枰欢螘r間才能完成-用戶將不知道該程序是否仍在運(yùn)行。批處理腳本執(zhí)行完后,會出現(xiàn)一個消息對話框,表示它已經(jīng)完成,但是在運(yùn)行該方法時到該對話框出現(xiàn)之間的一段時間內(nèi),該程序似乎什么也不做。因此,我的問題是:我非常希望顯示一個新的框架,其中包含一個文本區(qū)域,該區(qū)域顯示批處理文件的輸出。但是,我知道,如果不創(chuàng)建臨時文件、給它們寫信、讀取它們等等,就很難做到這一點(diǎn)。如果可能的話,我寧愿避免。因此,我認(rèn)為最好在進(jìn)程運(yùn)行時顯示一個不確定的JProgressBar,并在進(jìn)程完成時關(guān)閉它。不幸的是,我認(rèn)為Swing不能處理這個問題,因?yàn)樗枰瑫r運(yùn)行多個進(jìn)程。我聽說過一個搖擺工,但我不太確定如何在這種情況下使用。我有下面的SSCCE,它可以工作,但是沒有實(shí)現(xiàn)進(jìn)度條。public myClass(){
public static void main(String[] args){
String[] commands = {"cmd.exe", "/C", "C:\\users\\....\\myBat.bat"};
Process p = Runtime.getRuntime().exec(commands);
p.waitFor()
JOptionPane.showMessageDialog(null, "Process finished!");
}}當(dāng)p.warfor()等待進(jìn)程時,屏幕上什么也沒有。我只想讓用戶知道進(jìn)程還在運(yùn)行。思想?謝謝!
添加回答
舉報
0/150
提交
取消