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应用程序。
告诉我该怎么做。
答案 0 :(得分:4)
使用ProgressMonitorInputStream,更多内容在Oracle教程中How to Use Progress Bars
或创建自己的进度监视器,
文件的大小以字节为单位
将此大小除以100,将进度aftre buffer write bytes移动到File
注意Swing GUI的所有更新必须在EDT上完成,包含在invokeLater中
通过使用SwingWorker覆盖publish()/ progress()