我尝试在此搜索文档,但几乎找不到任何内容。我一定是在找错了地方。我有一个用于打开另一个JFrame对象的按钮。根据我所见,大多数人建议使用以下语句打开JFrame: myFrame.setVisible(真);
当此JFrame打开时,会运行多个SQL语句来检索使JFrame可用所需的数据。在JFrame对用户可见之前,我想确保检索所有数据并将其加载到JFrame控件中。所以我认为知道事件序列会有所帮助,你知道,哪个事件被触发了第一,第二,第三......所以我可以在链中找到一个事件,让我能够保持JFrame隐藏,直到所有事情都准备就绪用户互动。 感谢您抽出宝贵时间回复。
答案 0 :(得分:1)
由于访问数据库的延迟时间未知,您可能希望在后台读取所需数据,以避免阻止event dispatch thread。 SwingWorker
是一种常见方法。通过这种方式,您可以立即调用框架的setVisible(true)
方法,禁用在加载数据时没有意义的任何控件。结果可以显示为可用并显示进度,从而减少感知延迟。稍后,在done()
的实施中,您可以启用已禁用的控件。相关示例显示为here,并显示了变体here。