我是 Java Swing 的新手,我的问题与事件队列和调度线程有关。
我读到可以有多个事件队列,每个AppContext实例。同样是不是意味着每个 AppContext 事件队列都有自己的事件调度线程。
我是 Java Swing 的新手,我的问题与事件队列和调度线程有关。
我读到可以有多个事件队列,每个AppContext实例。同样是不是意味着每个 AppContext 事件队列都有自己的事件调度线程。
据我所知,只能有一个事件调度线程。
显然AppContext 并不打算供开发人员使用,尽管我并不真正熟悉它。
1)基本上你只需要知道你的代码是否会在 EDT 上完成(所有更改都必须在 EDT 上完成),
2)如果有任何疑问,可以测试
if (EventQueue.isDispatchThread()) {
或(如果在 EDT 上,则相同并返回 true)
if (SwingUtilities.isEventDispatchThread()) {
3) 后台任务的所有输出必须包含在 Swing 中关于 Concurency 的invokeLater()
基本内容中