先来看第一幅图:
说明:1.JFrame启动时一般会启动3个线程:主线程、事件派发线程、系统工具包线程。(当然还有可能有程序员自己定义并启动的其他线程)
再来看第二幅图:
说明:1.所有事件处理函数都是被事件派发线程调用执行,所以如果需要在事件处理函数中启动耗时任务应该启动其他线程来处理。
最后一幅图:
说明:1.JFrame的实例化和显示的时机由业务逻辑决定(或由程序员决定)
2.启动(显示)之后的JFrame由事件派发线程来维护
3.对于大一些的窗口程序不要将所有的功能都写在JFrame中(特别是事件处理函数),可定义其他实体类来完成相应功能