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)

相关推荐

  • Python代码然后实现列表分组计数

    技术Python代码然后实现列表分组计数本篇文章给大家分享的是有关Python代码然后实现列表分组计数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. c

    攻略 2021年11月11日
  • Hbase如何使用

    技术Hbase如何使用这篇文章主要介绍了Hbase如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。与mysql 对比:1 创建表 只需要指定faml

    攻略 2021年12月8日
  • ERROR: Maven JVM terminated unexpectedly with exit code 137的解决方法是什么

    技术ERROR: Maven JVM terminated unexpectedly with exit code 137的解决方法是什么这期内容当中小编将会给大家带来有关ERROR: Maven JVM termina

    攻略 2021年10月23日
  • docker如何启动已经创建好的容器(docker容器启动时运行一些指令)

    技术Docker容器创建、启动、和停止的方法是什么这篇文章主要讲解了“Docker容器创建、启动、和停止的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Dock

    攻略 2021年12月13日
  • 静默升级oracle的方法步骤是什么

    技术静默升级oracle的方法步骤是什么本篇内容主要讲解“静默升级oracle的方法步骤是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“静默升级oracle的方法步骤是什

    攻略 2021年11月4日
  • leetcode反转链表怎么用(leetcode链表怎么分割)

    技术LeetCode如何实现部分链表反转这篇文章将为大家详细讲解有关LeetCode如何实现部分链表反转,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。部分链表反转。1)链表为空或者一个

    攻略 2021年12月15日