swingworker处理中间结果的方法(swing项目实例)

技术如何实现SwingWorker的实例化本篇文章给大家分享的是有关如何实现SwingWorker的实例化,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Sw

本文是关于如何实现SwingWorker的实例化。边肖觉得挺实用的,所以分享给大家学习。希望你看完这篇文章能有所收获。我们就不多说了。让我们和边肖一起看看。

SwingWorker示例融合SwingWorker:要使用SwingWorker类,必须首先实现它的一个子类。在子类中,您必须实现构造方法并包含您的长期操作。当实例化SwingWorker的子类时,SwingWorker会创建一个线程,但不会启动它。您必须调用SwingWorker对象的start方法来启动线程,然后start方法将调用您的construct方法。当需要构造方法返回的对象时,可以调用SwingWorker类的get方法。这是一个使用SwingWorker类的例子:

.//在main方法中:finalswingworker worker=newwinworker };worker.start.//在动作事件处理方法中:jooptions pane . showmessagedialog)

当程序的主方法调用start方法时,SwingWorker会启动一个新线程来实例化ExpensiveDialogComponent。主方法还构建了一个由窗口和按钮组成的图形用户界面。当用户单击按钮时,如果需要,程序将阻止,直到创建ExpensiveDialogComponent。然后程序显示一个包含ExpensiveDialogComponent的模式对话框。你可以在MyApplication.java找到整个过程。使用计时器类计时器类通过操作侦听器执行一次或多次操作。创建计时器时,可以指定操作执行的频率,还可以指定计时器的动作事件的侦听器。计时器启动后,将调用操作侦听器的actionPerformed方法来执行操作。计时器侦听器定义的actionPerformed方法将在事件调度线程中调用。这意味着您不必在其中使用invokeLater方法。这是一个使用Timer类实现动画循环的例子:

public class animatoraapplicationtimerextendsjframeimplementsactionlistener public voitstartanimationelse } public voitstoanimationpublic voitaction performed.}

在一个线程中执行所有用户界面代码有一些好处:组件开发人员不必对线程编程有很深的理解;像视点和支架这样的工具包中的所有组件都必须完全支持多线程访问,这使得扩展非常困难,尤其是对于不精通线程编程的开发人员来说。最近的一些工具包,比如SubArctic和IFC,都采用了类似Swing的设计。事件以可预测的顺序调度:由invokeLater排队的可运行对象从鼠标和键盘事件、计时器事件和绘图请求的同一队列中调度。在一些组件完全支持多线程访问的工具包中,变化无常的线程调度器会将组件的更改分散到事件处理过程中。这使得全面测试变得困难甚至不可能。更低的成本:试图小心地将工具包锁定在关键区域需要大量的时间和空间来管理锁。每当在工具包中调用可能在客户端代码中实现的方法时,工具包应该保存其状态并释放所有锁,以便客户端代码可以在必要时获得锁。当控件返回到工具包时,工具包必须重新获得锁并恢复状态。所有应用程序都必须承担这个代价,即使大多数应用程序不需要并发访问图形用户界面。这是SubArcticJavaToolkit对工具包中支持多线程访问问题的描述:我们的基本原则是,在设计和构建多线程应用程序时,必须格外小心,尤其是那些包含GUI组件的应用程序。线程的使用可能具有欺骗性。在许多情况下,它们可以被极度简化,使得设计“专注于单个任务的简单自治实体”成为可能。在某些情况下,它们确实简化了设计和编码。然而,在几乎所有的情况下,它们使调试、测试和维护变得困难,甚至不可能。

无论大多数程序员接受的实践,他们的经验和实践,或者我们用来帮助自己的工具,都不能用来处理不确定性。例如,当bug依赖于时间时,全面测试几乎是不可能的。特别是对于Java来说,一个程序应该运行在很多不同类型机器的操作系统平台上,每个程序都必须在抢占式和非抢占式调度下正常工作。由于这些固有的困难,我们敦促您三思是否绝对有必要使用线程。但是,在某些情况下,有必要使用线程,因此subArctic提供了线程安全的访问机制。本章讨论这种机制以及如何在独立的线程中安全地操作交互树。他们讨论的线程安全机制非常类似于SwingUtilities类提供的invokeLater和invokeAndWait方法。

以上就是如何实现SwingWorker的实例化。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/157462.html

(0)

相关推荐

  • 一个虫一个离,一个虫字旁加一个离子怎么读

    技术一个虫一个离,一个虫字旁加一个离子怎么读螭chī 部首笔画 部首:虫 部外笔画:10 总笔画:16 五笔86:JYBC 五笔98:JYRC 仓颉:LIYUB 笔顺编号:2512144134522554

    生活 2021年10月28日
  • Python制作动态词频条形图的过程是怎样的

    技术Python制作动态词频条形图的过程是怎样的这篇文章给大家介绍Python制作动态词频条形图的过程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。前言”数据可视化“这个话题,相信大家并不陌

    攻略 2021年11月11日
  • 如何快速了解Https

    技术如何快速了解Https如何快速了解Https,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。HTTPS简介HTTPS:https是http

    攻略 2021年11月12日
  • 香港云服务器搭建商业网站的好处

    技术香港云服务器搭建商业网站的好处由于安全高性能的服务器提供了对任何网站都至关重要的可靠性、性能和安全性。所以,香港云服务器搭提供了巨大的价值,尤其是对中小型企业。它是成本和性能的理想组合。所以,许多选择虚香港云服务器来

    礼包 2021年12月3日
  • 抖音刷点赞刷粉,抖音3元1000粉自助下单网址?

    技术抖音刷点赞刷粉,抖音3元1000粉自助下单网址?抖音刷赞的妙用,抖音刷赞有那些用处,随着抖音的火爆,现在入住抖音的用户那是相当多呀,入住抖音的用户多了,当然抖音内部的竞争也就大了,有部分抖音新人没有人气,没有名气,响

    测评 2021年10月19日
  • 77的因数有哪些,1至100的因数有哪些

    技术77的因数有哪些,1至100的因数有哪些1到100之间的质数有(177的因数有哪些,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,8

    生活 2021年10月22日