基于EDT的java对象创建
我想问我的问题最简单的方法就是积累经验。我对EDT的一些工作原理有点困惑
是否有从EDT上创建的Swing组件创建的对象
为了扩展这个问题,如果我创建一个JFrame,在它的构造函数中,它创建了对象X,Y和Z,那么X,Y,Z是否也在EDT上创建
为了进一步扩展这个问题,如果在X的类创建期间,它在等待网络资源时被阻止,那么这会阻止EDT吗
你可以在下面搜索框中键入要查询的问题!
我想问我的问题最简单的方法就是积累经验。我对EDT的一些工作原理有点困惑
是否有从EDT上创建的Swing组件创建的对象
为了扩展这个问题,如果我创建一个JFrame,在它的构造函数中,它创建了对象X,Y和Z,那么X,Y,Z是否也在EDT上创建
为了进一步扩展这个问题,如果在X的类创建期间,它在等待网络资源时被阻止,那么这会阻止EDT吗
# 1 楼答案
仅当您的代码在EDT上运行时。事件侦听器中执行的代码会在EDT上自动执行
当您通过main()方法启动GUI时,它不会在EDT上运行,除非您专门将代码放在EDT上。这通常是通过使用SwingUtilities来实现的。调用器()
有关更多信息,请阅读Concurrency上的Swing教程。另外,请阅读目录,特别是关于
How to Make Frames
的部分,了解在EDT上启动代码的简单示例同样,仅当代码块在EDT上执行时