Swing学习笔记之swing渲染基本原理
主要内容:事件,绘制,渲染,双缓冲,线程
一、 事件
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
---------------------------------------------------------------------------------------
——使你疲劳的不是远方的高山,而是你鞋里一粒沙子!