Java 打开JFrame对象:事件序列

Java 打开JFrame对象:事件序列,java,swing,jdbc,Java,Swing,Jdbc,我试图搜索关于这个的文档,但几乎什么也没找到。我一定找错地方了。我有一个按钮用来打开另一个JFrame对象。据我所见,大多数人建议使用以下语句打开JFrame: myFrame.setVisible(true) 当这个JFrame打开时,会运行几个SQL语句来检索使JFrame可用所需的数据。我希望确保在用户看到JFrame之前,检索所有数据并将其加载到JFrame的控件中。所以我想知道事件顺序会有帮助,你知道,哪一个事件是第一个,第二个,第三个。。。因此,我可以在链中找到一个事件,使我能够隐藏

我试图搜索关于这个的文档,但几乎什么也没找到。我一定找错地方了。我有一个按钮用来打开另一个JFrame对象。据我所见,大多数人建议使用以下语句打开JFrame: myFrame.setVisible(true)

当这个JFrame打开时,会运行几个SQL语句来检索使JFrame可用所需的数据。我希望确保在用户看到JFrame之前,检索所有数据并将其加载到JFrame的控件中。所以我想知道事件顺序会有帮助,你知道,哪一个事件是第一个,第二个,第三个。。。因此,我可以在链中找到一个事件,使我能够隐藏JFrame,直到一切都准备好供用户交互。
感谢您抽出时间回复。

由于访问数据库时存在未知的延迟,您可能希望在后台读取所需的数据,以避免阻塞数据库。这是一种常见的方法。通过这种方式,您可以立即调用帧的
setVisible(true)
方法,在加载数据时禁用任何没有意义的控件。当结果可用并显示进度时,可以显示结果,从而减少感知延迟。稍后,在
done()
的实现中,可以启用禁用的控件。图中显示了一个相关示例,并显示了一个变体。

多亏了垃圾神,我没有考虑过简单地禁用控件,直到一切都准备好使用为止。尽管如此,在我看来,在它适合并准备好使用之前,最好不要呈现这种形式。如果没有人提供该解决方案,我将选择软件,并在软件完成后使用属性更改侦听器启用控件。请参阅