在Java Swing中编码时的延迟



我正在使用Java Swing编写一个GUI应用程序。我只是有一个问题,我写了一个大函数,当点击按钮时执行。首先,我将标签的值设置为"生成报告……",然后在函数的"返回"部分之前,我设置了标签的值"完成生成报告"。实际发生的情况是,第一次设置的标签没有生效。它们都在我完成函数调用后生效,因此最终结果只是显示"完成生成报告"。

下面是我使用的java代码:

 protected void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        // TODO add your handling code here:
    try
    {
         jLabel6.setText("Generating Report");
         jProgressBar1.setVisible(true);
       generateReport(BillImportId.getText()); // This will take around 30 seconds to finish
    }
    catch (Exception e)
    {
      System.out.println("Exception occured: " + e);
    }
    }//GEN-LAST:event_jButton2ActionPerformed

将对generateReport的调用移动到SwingWorker的方法doInBackground中。使用processdone方法来更新你的UI元素。

查看"Swing中的并发性"

相关内容

  • 没有找到相关文章

最新更新