java如何使用java swing(swing 怎么启动一个后台线程)

技术如何解析Swing线程的内容这篇文章将为大家详细讲解有关如何解析Swing线程的内容,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一. 事件1.事件来源:本地系统,应

本文将详细解释如何分析Swing线程的内容。这篇文章的内容质量很高,所以边肖会分享给大家参考。希望大家看完这篇文章能有所了解。

一. 事件

1.事件来源:本地系统、应用程序本身

2.所有事件都存储在队列中。

3.Java.awt.EventQueue从队列中获取数据并调度它。事件队列的调度机制由单独的线程EDT(事件调度线程)处理。

二.绘制

如前一节所述,paintImmediately()就像一个门户,告诉Swing控件自己绘制,确保所有需要的绘制都正确进行。此方法也可用于发出同步绘图请求。顾名思义,有时控件需要根据其内部状态实时改变外观。(例如,就像JScrollPane做滚动操作一样)。

程序不应该直接调用这个方法,除非需要实时绘图。这是因为异步重绘()可以有效地合并多个重叠的请求,但是直接调用paintImmediately()则不能。另外,调用这个方法的规则是必须从事件分发线程中调用;它不是为你的多线程绘图代码设计的!要查看Swing单线程模式的详细信息,请参考收集的文章《Swing Thread》。

1.Swing线程包括:主线程(应用程序的主要方法)、工具包线程(捕获系统事件)和EDT(调度捕获的线程)。

2.异步重绘请求:所有异步请求都是repaint()的变体,包括整个构图的绘制和某个构图区域的绘制。

3.同步绘图请求:component.paint立即()和component.paint()

三.渲染

1.画家算法

2 .油漆组件()

3 .油漆()

4.setpaque()

四.双缓冲jsci . swing的超类是一个抽象类,叫做JDoubleBufferedComponent。这个类比较简单,它为将要构建的图形提供了双缓冲功能。双缓冲指示接收组件是否应该使用缓冲区进行绘制。如果双缓冲设置为真,该组件的所有图片将在屏幕外绘图缓冲区中完成。屏幕外绘图缓冲区稍后将被复制到屏幕上。根据Javadocs的说法,Swing绘图系统总是使用* * *的双缓冲区。如果一个组件有一个缓冲区,并且它的一个父组件也有一个缓冲区,则使用它的父组件的缓冲区。

JDoubleBufferedComponent依靠自身,而不是Swing的双缓冲来实现JComponent对双缓冲的处理。这为使用JSci.swing包的开发人员提供了比仅使用swing更细粒度的双缓冲控制。

五.Swing线程

1.Swing线程包括:主线程(应用程序的主要方法)、工具包线程(捕获系统事件)和EDT(调度捕获的线程)。

2.线程模型:单一规则,所以遵循这个规则,让EDT尽可能的分发事件。

3.invokeLater()

4.isEventDispatchThread()

5.invokeAndWait

六.定时器和事件派发1 . Java . util . timer

javax.swing.Timer

七.SwingWorker

1 .完成()

2.doInBackground()

3 .获取

4 .过程

关于如何解析Swing线程的内容,我希望在这里分享。

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

(0)

相关推荐

  • Hive常用查询命令和使用方法

    技术Hive常用查询命令和使用方法这期内容当中小编将会给大家带来有关Hive常用查询命令和使用方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. 将日志文件传到HDFS ```ba

    攻略 2021年11月11日
  • 如何将eclipse项目导入myeclipse(可以同时安装eclipse和myeclipse)

    技术如何进行MyEclipse6.5+Eclipse3.4的中文问题浅析今天就跟大家聊聊有关如何进行MyEclipse6.5+Eclipse3.4的中文问题浅析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了

    攻略 2021年12月18日
  • mysql数据库表的修改删除和各种查询命令

    技术mysql数据库表的修改删除和各种查询命令 mysql数据库表的修改删除和各种查询命令一、查询表数据
    1、先进入表,使用命令:use 表名;。比如:use testdev;2、再查看表里面的内容,使

    礼包 2021年10月26日
  • Percona 5.5如何定位未使用的索引

    技术Percona 5.5如何定位未使用的索引这篇文章主要为大家展示了“Percona 5.5如何定位未使用的索引”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Percona

    攻略 2021年11月2日
  • 如何解析Linux内核虚拟机的安全扩展KVMSEC

    技术如何解析Linux内核虚拟机的安全扩展KVMSEC如何解析Linux内核虚拟机的安全扩展KVMSEC,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一

    攻略 2021年11月25日
  • net core响应时间超时的配置(netcore 开启内存释放)

    技术.NET Core 配置对GC工作模式与内存的影响是什么这篇文章将为大家详细讲解有关.NET Core 配置对GC工作模式与内存的影响是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相

    攻略 2021年12月15日