有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

基于EDT的java对象创建

我想问我的问题最简单的方法就是积累经验。我对EDT的一些工作原理有点困惑

是否有从EDT上创建的Swing组件创建的对象

为了扩展这个问题,如果我创建一个JFrame,在它的构造函数中,它创建了对象X,Y和Z,那么X,Y,Z是否也在EDT上创建

为了进一步扩展这个问题,如果在X的类创建期间,它在等待网络资源时被阻止,那么这会阻止EDT吗


共 (1) 个答案

  1. # 1 楼答案

    Is any object created from a Swing component created on the EDT?

    仅当您的代码在EDT上运行时。事件侦听器中执行的代码会在EDT上自动执行

    当您通过main()方法启动GUI时,它不会在EDT上运行,除非您专门将代码放在EDT上。这通常是通过使用SwingUtilities来实现的。调用器()

    有关更多信息,请阅读Concurrency上的Swing教程。另外,请阅读目录,特别是关于How to Make Frames的部分,了解在EDT上启动代码的简单示例

    if during class creation of X, it becomes blocked waiting on a network resource, will this then block the EDT?

    同样,仅当代码块在EDT上执行时