java 事件分发线程_swing-Java事件调度线程说明

我最近开始学习和探索Java GUI编程的基础。

经过一段时间的编程,我只完成了后端工作或其他工作,因此,我最接近用户界面的是命令控制台(令人尴尬的是,我知道)。

我正在使用Swing,据我所知,通过扩展,我也正在使用AWT。

我的问题基于以下代码:

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new frame.setVisible(true);

}

} );

我已经研究了一段时间,因为我想完全理解这段奇怪的代码,并且多次遇到“事件分派线程”一词。 如果我错了,请纠正我,但据我了解; 它与使用多个线程以及Java Swing如何解释这些线程有关。 我还收集到上面的代码用于在创建窗口之前确保所有线程都是“安全的”,因此invokeLater吗?

我读过:

“您只能从事件调度线程中调用在框架上运行的方法”

而且只有在某些情况下,您才能从main方法调用在框架上运行的方法。

有人可以告诉我事件调度线程到底是什么吗?

它与多个执行线程有何关系?如何从main方法调用这些线程不安全? 同样为什么我们需要这个invokeLater?

我们不仅可以像其他任何对象一样创建窗口吗?

由于我没有掌握这些关系和想法,因此在研究中遇到了一些障碍。

附带说明的是,我希望将自己的知识建立在深入理解的基础上,因为我相信这会带来最佳的总体结果,从而带来最佳的计划。 如果我深入了解某些东西是如何工作的,那么您可以有效地使用技巧和调整,而不仅仅是将它们重新编写为代码,因此请不要害怕给我一些额外的深入解释并扩大我的知识。

谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值