如何强制 java 绘制 swing 标签?

How to force java to draw swing label?

我正在使用 JLabel 创建一个进度条。问题是当我将这个标签添加到我的框架并执行一些其他任务时,我的 JFrame 冻结了。有没有类似invoke and wait for swing绘制完成的方法?

private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {
   JLabel loadingBar = new JLabel("test");
   myFrame.add(loadingBar);
   doSomeOtherTasks();
}

试试这个

int delay = 1000; //milliseconds
  ActionListener taskPerformer = new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
          //...Perform a task...
      }
  };
  new Timer(delay, taskPerformer).start();