栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JButton ActionListener-仅在单击JButton后才更新GUI

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JButton ActionListener-仅在单击JButton后才更新GUI

不要在EDT中执行任何密集的操作,否则GUI将无响应,并且您可能看不到GUI更新。您可以使用的最佳选择是

SwingWorker

  • 重写

    doInBackground()
    ,并将任何长时间的操作放入此方法内,以便它将在单独的线程而不是EDT上运行。

  • 对于任何GUI创建或其中GUI组件的状态更改

    doInBackground()
    ,请使用
    publish(V... chunks)
    将数据发送到
    process(List<V> chunks)
    。您需要覆盖
    process(List<V> chunks)
    。另请注意,它
    process(List<V> chunks)
    是在EDT上执行的。

  • doInBackground()
    返回时,
    done()
    执行上EDT,你可以重写它使用它的任何GUI更新。您还可以检索返回的值
    doInBackground()
    使用
    get()

  • 请注意,这

    SwingWorker<T,V>
    是通用的,您需要指定类型。
    T
    从返回的对象的类型
    doInBackground()
    get()
    ,而
    V
    是你传递到元素的类型
    process(List<V> chunks)
    通过
    publish(V... chunks)

  • execute()
    方法首先调用Swing工人
    doInBackground()

有关更多信息,请阅读Swing中的并发。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/485752.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号