6

我是 Java Swing 的新手,我的问题与事件队列和调度线程有关。

我读到可以有多个事件队列,每个AppContext实例。同样是不是意味着每个 AppContext 事件队列都有自己的事件调度线程。

4

2 回答 2

3

据我所知,只能有一个事件调度线程。

显然AppContext 并不打算供开发人员使用,尽管我并不真正熟悉它。

于 2011-09-06T16:52:30.767 回答
1

1)基本上你只需要知道你的代码是否会在 EDT 上完成(所有更改都必须在 EDT 上完成),

2)如果有任何疑问,可以测试

if (EventQueue.isDispatchThread()) {

或(如果在 EDT 上,则相同并返回 true)

if (SwingUtilities.isEventDispatchThread()) {

更多herehere

3) 后台任务的所有输出必须包含在 Swing 中关于 Concurency 的invokeLater()基本内容中

于 2011-09-06T18:05:27.237 回答