2017-02-10 44 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 不會凍結。但短暫重訪您的整個線程 策略,通常的解決方法是將任務隊列添加到 稍後運行。