主要内容:事件,绘制,渲染,双缓冲,线程
一、 事件
1、事件来源:本地系统,应用程序本身
2、所有的事件都存储在一个队列里面
3、Java.awt.EventQueue从队列中取数据并派发,EventQueue的派发机制由单独的线程EDT(Event Dispatch Thread)处理。
二、绘制
1、绘制请求发起:awt或者swing本身、对swing发起请求
2、异步重绘请求:所有异步请求都是repaint()的变体,包括整个组建的绘制和组建某个区域的绘制
3、同步绘制请求:Jcomponent.paintImmediately()和Component.paint()
三、渲染
1、画家算法
2、paintComponent()
3、paint()
4、setpaque()
四、双缓冲
五、线程
1、swing线程包括:主线程(应用程序的主方法),工具包线程(扑获系统事件),EDT(将扑获的线程派发)
2、线程模型:单一的规则,所以要遵从此规则,尽量将事件让EDT进行派发。
3、invokeLater()
4、isEventDispatchThread()
5、invokeAndWait
六、定时器和事件派发
1、java.util.Timer
2、javax.swing.Timer
七、SwingWorker
1、done()
2、doInBackground()
3、get
4、process
本文详细介绍了Swing图形用户界面的基础概念和技术要点,包括事件处理流程、绘制机制、渲染过程、双缓冲技术以及多线程管理等内容。通过阅读本文,读者可以了解Swing如何响应用户操作、组件如何被正确地绘制到屏幕上、以及如何使用Swing进行高效的并发编程。
2098

被折叠的 条评论
为什么被折叠?



