是的-您基本上是在阻止UI线程,因此永远不会回避实际更新。
在UI线程中休眠是一个非常糟糕的主意。
如果您想执行类似的操作,则应使用
Timer。(我假设您正在使用Swing。如果没有,请编辑您的问题以指示您正在使用哪个UI框架。)
您还应该注意,这
Thread.sleep是一个静态方法。您正在使用它,就像它是实例方法一样。诚然,您碰巧在当前线程上调用它,但是您的用法表明您认为:
Thread t = new Thread(...);t.start();t.sleep(1000);
会使 新 线程进入睡眠状态。不会-它将使当前线程处于休眠状态,因为这
Thread.sleep总是
如此。IMO对于Java来说,允许您以这种方式调用静态方法是一个错误-如果您使用的是Eclipse,则可以选择将其设为警告或错误。



