这是一个片段
kit.insertHTML(doc, doc.getLength(), "Hello", 0, 0, null); try{ Thread.sleep(1000); }catch(Exception e){}
我正在使用HTMLEditorKit()和HTMLDocument()作为文本框。文本框应显示“ Hello”,然后等待一秒钟,但是,当我尝试执行此操作时,它会等待一秒钟,然后放置“ Hello”一词,这不是我想要的。
HTMLEditorKit()
HTMLDocument()
我不确定为什么会这样,因为我将其按逻辑顺序放置。如果有人可以帮助我,那就太好了。
编辑:
有谁知道替代方案,所以我可以使用“延迟”效果吗?
永远不要从Swing事件线程中调用Thread.sleep(…),因为这会使事件线程本身进入睡眠状态。由于此线程负责所有Swing绘画和用户交互,因此这会使您的应用程序进入睡眠状态。
如果您只想延迟显示时间,请考虑使用Swing Timer。
另一方面,如果您的事件线程被长时间运行的任务所破坏,请使用SwingWorker在后台执行任务(如Guillaume 1+向他建议的那样)。