什么是Java';与Thread.sleep()等价的s接口?
我正在编程一个机器人,它使用一个带有按钮、文本框等的界面,我知道如果你使用什么是Java';与Thread.sleep()等价的s接口?,java,eclipse,multithreading,interface,thread-sleep,Java,Eclipse,Multithreading,Interface,Thread Sleep,我正在编程一个机器人,它使用一个带有按钮、文本框等的界面,我知道如果你使用 Thread.sleep(); 然后它会破坏你的界面。我知道 Thread.sleep(); 基本上只是暂停当前线程,并在分配的时间后恢复它。我需要在程序中稍微暂停一下,而不破坏我的接口,例如与 Thread.sleep(1000); 我已经找了好几个小时了,我找不到任何东西可以在维护界面的同时在程序的某个部分创建一个轻微的暂停。我也不知道多线程,所以请尽可能详细地解释一下。提前谢谢你帮助我 Java Swing用
Thread.sleep();
然后它会破坏你的界面。我知道
Thread.sleep();
基本上只是暂停当前线程,并在分配的时间后恢复它。我需要在程序中稍微暂停一下,而不破坏我的接口,例如与
Thread.sleep(1000);
我已经找了好几个小时了,我找不到任何东西可以在维护界面的同时在程序的某个部分创建一个轻微的暂停。我也不知道多线程,所以请尽可能详细地解释一下。提前谢谢你帮助我 Java Swing用户界面中的所有内容都运行在单个特殊线程(Swing线程或“事件调度线程”)上。如果您使用
线程.sleep()
阻止此线程,则您的用户界面将停止响应
为了能够在不阻塞用户界面的情况下休眠(即故意延迟某些处理),您的程序可能需要在多个线程上运行。我建议你看一下这本书。多线程是一个相当高级的主题,不能用一个简短的答案来概括
现在还不清楚你想通过睡眠实现什么-如果你只是想在将来触发一些动作,那么这个类可以做你需要的事情,而不需要额外的线程
Java库中还有一些用于在GUI应用程序中的其他线程上运行任务的程序。当代码无事可做时,您的代码当前会做什么?例如,你如何等待用户告诉你做某事?从概念上讲,思考这个问题的方式如下:你现在没有任何事情要做。但是你会在一秒钟内做一些事情,或者如果用户告诉你做一些事情。因此,请立即通知程序。然后在无事可做的时候做任何事情,等待用户输入或通知发生。将计时器通知视为用户输入。我不明白你在“打破你的界面”@edubrigunten中的意思。我相信他的意思是,例如,如果用户按下按钮,他不会注意到,因为他的代码正在休眠。我不知道你想做什么,但我认为你可以使用FutureTask,就像这个例子:谢谢,我研究了多线程,基本的多线程应该可以解决我的问题。我可以使用main类作为GUI,并将其他类作为单独的线程调用,以保持它们的运行,并在GUI持续运行时让它们暂停。