2017-02-10 47 views
0

在Java中,我可以使用sleep(x)来延迟某些代码运行x秒。但是,如果我使用Swing,这会使我的GUI冻结,所以它不是一个理想的解决方案。没有冻结的Java延迟UI

在Java中运行一系列代码之前,如何创建延迟?

+1

你的代码是如何设置的?你是否像你应该使用SwingWorker线程? https://docs.oracle.com/javase/tutorial/uiswing/concurrency/worker.html – Brick

+0

@Brick我不是,因为我正在制作一个非常简单的程序,只是试图延迟标签的更改(而不是背景重的任务)。我自己弄明白了,我在下面发表了自己的回答。 – owlswipe

+0

这个问题与[我的这个受欢迎的问题]几乎完全一样(http://stackoverflow.com/questions/38031137/how-to-program-a-delay-in-swift-3/38031138#38031138),只是我在谈论Java而不是迅速。 – owlswipe

回答

0

首先,你可能不应该在显示线程中做任何你在做 。如果它在您自己的线程中,则GUI 不会冻结。但短暂重访您的整个线程 策略,通常的解决方法是将任务队列添加到 稍后运行。