首页 > 解决方案 > 操作顺序

问题描述

试图了解使用 Swing 课程的规则。问题出现了:假设在程序开始时我创建了一个摇摆定时器对象并运行它

Timer myTimer = new Timer(1000,this);
myTimer.start();

程序继续进行,进行一些计算、计算等。但它需要 1000 毫秒,并且 myTimer 调用 actionPerformed() 方法。我想了解操作将按什么顺序执行。也许主程序会停下来等到actionPerformed()方法的执行完成?或者也许是另一种选择?知情人士告诉我这些操作将如何实际执行?

标签: javaswingtimer

解决方案


ActionPerformed方法将在事件调度线程 (EDT) 上调用。
该线程将与主线程和其他线程同时运行,除非这些线程被编程为改变它们的行为。所有事件都在 EDT 上处理。其中包括听众和绘画请求。由于这些事件是按顺序处理的,因此将在 EDT 中花费的时间保持在最低限度是很重要的。否则,其他事件将无法及时处理。

您可以在Java 教程中阅读有关Java 中货币的更多信息。


推荐阅读