-1
private void exportButtonActionPerformed(java.awt.event.ActionEvent evt) {
if ("PDF(.pdf)".equals(jComboBox1.getSelectedItem())) {
query = queryPane.getText();
filePath = selectedFolder.getText();
new DataBaseToPDF(filePath, query);
}
}
這是一個代碼片段,通過單擊按鈕將數據導出爲pdf文件(DataBaseToPDF(filePath,query)
)。當進程在後臺運行時,我想顯示一個進度條直到導出完成。我遇到過很多例子,它告訴我們如何創建一個JProgressBar
,但是他們沒有一個告訴如何將它鏈接到正在運行的java應用程序。帶進度條的鏈接應用程序
告訴我該怎麼做。
發佈()/進度()是否正被工具sun **在結束之前給**任何進度指示?許多人不這樣做,在這種情況下,這是不可能的。只需向用戶顯示一個不確定的進度條並完成它。 *「告訴我該怎麼做。」*如果您要求我做事,我需要$。你如何將這個問題改爲「如何做到這一點?」這樣的問題。 – 2013-05-03 13:31:07
您的任務(將數據導出爲PDF)非常耗時。由於swing在單線程(EDT)上運行,因此在此過程中您的GUI將被「凍結」(在進程結束之前,JProgressBar將不顯示任何內容)。縮短:看看這個問題:http://stackoverflow.com/questions/4637215/can-a-progress-bar-be-used-in-a-class-outside-main/4637725#4637725而在SwingWorker :http://docs.oracle.com/javase/tutorial/uiswing/concurrency/worker.html – 2013-05-03 13:33:26
@ AndrewThompson-我很抱歉沒有禮貌。我不是那個意思。 是的,作爲一個跡象,我已經添加了一個JOptionPane,它在導出完成時給出一條消息。 – Ritesh 2013-05-03 13:43:26