您正在执行
Thread.sleep()您的主线程,在这种情况下,即EDT(事件调度程序线程)。该线程负责绘制图形并收听事件。通过这样做,
Thread.sleep()您实际上是在暂停它,因此不允许它完成任务。
看来您想每隔一段时间刷新一次GUI(至少这是我所猜测的)。如果是这种情况,则需要将逻辑移至新的单独线程,然后从产生的线程中调用所需的更新方法。若要使更改可见,您将需要使用SwingUtilities.invokeLater()方法再次调用事件调度程序线程。

您正在执行
Thread.sleep()您的主线程,在这种情况下,即EDT(事件调度程序线程)。该线程负责绘制图形并收听事件。通过这样做,
Thread.sleep()您实际上是在暂停它,因此不允许它完成任务。
看来您想每隔一段时间刷新一次GUI(至少这是我所猜测的)。如果是这种情况,则需要将逻辑移至新的单独线程,然后从产生的线程中调用所需的更新方法。若要使更改可见,您将需要使用SwingUtilities.invokeLater()方法再次调用事件调度程序线程。