链接应用程序与进度条

时间:2013-05-03 13:28:44

标签: java swing pdf jbutton jprogressbar

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应用程序。

告诉我该怎么做。

1 个答案:

答案 0 :(得分:4)

  • 使用ProgressMonitorInputStream,更多内容在Oracle教程中How to Use Progress Bars

  • 或创建自己的进度监视器,

    1. 文件的大小以字节为单位

    2. 将此大小除以100,将进度aftre buffer write bytes移动到File

    3. 注意Swing GUI的所有更新必须在EDT上完成,包含在invokeLater中

    4. 通过使用SwingWorker覆盖publish()/ progress()