gpt4 book ai didi

java - EDT 上的对象创建

转载 作者:行者123 更新时间:2023-11-29 05:09:51 25 4
gpt4 key购买 nike

我认为提出问题的最简单方法是逐步解决问题。我对 EDT 的某些工作原理有些困惑。

是否有任何对象是从在 EDT 上创建的 Swing 组件创建的?

要扩展这个问题,如果我创建一个 JFrame,并在其构造函数中创建对象 X、Y 和 Z,X、Y、Z 是否也在 EDT 上创建?

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

最佳答案

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

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

当您通过 main() 方法启动 GUI 时,它不会在 EDT 上运行,除非您专门将代码放在 EDT 上。这通常通过使用 SwingUtilities.invokeLater() 来完成。

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 上执行时。

关于java - EDT 上的对象创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28991576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com