关于awt/swing组件中paint, update, paintComponent, repaint的经验
来源:互联网 发布:福建旅游 知乎 编辑:程序博客网 时间:2024/05/29 02:10
1、Applet/JApplet:
repaint+paint -- dragged, paint
repaint+update+paint -- dragged, update
Applet: repaint+paint -- 自动重画
repaint+update -- 不自动重画
JApplet:都不自动重画
结论:awt组件中的paint方法自动重画背景,实际上可以说是update方法自动重画背景,由于重写了update方法,所以不自动重画了!!
双缓冲:update中画背景缓冲,paint中将背景缓冲绘制到前台图形中
2 、Frame/JFrame:
repaint+paint -- dragged, paint
repaint+update+paint -- dragged, update
Frame: repaint+paint -- 自动重画
repaint+update -- 不自动重画
JFrame: 都不自动重画
问题:双缓冲时,因为背景Frame/JFrame是不可显示的(isDisplayable()),所以无法执行createImage()方法,难道基于框架的绘图不支持双缓冲?
3、 Panel:
repaint+paint -- dragged, paint
repaint+update+paint -- dragged, update
repaint不执行paintComponent
JPanel:
repaint+update+paint -- dragged, update
repaint+paint+paintComponent -- dragged, paint
repaint+paintComponent -- dragged, paintComponent
repaint执行paintComponent, 不执行paintComponents, 使用super.paintComponent(g)可达到填充背景的目的。
- 关于awt/swing组件中paint, update, paintComponent, repaint的经验
- 关于awt/swing组件中paint, update, paintComponent, repaint的经验
- 关于paint(),repaint(),paintcomponent()
- 关于paint(),repaint(),paintcomponent()
- 关于paint(),repaint(),paintcomponent()
- 关于repaint,paint,paintComponent...的问题
- awt中的repaint() update() paint方法
- Swing下的paint、repaint、validate、update、updateUI
- swing 中paint与paintComponent的区别(jcomponent)
- java 中paint .repaint.update
- Swing之paint与paintComponent的区别
- Swing paint和paintComponent方法的关系
- Swing之paint与paintComponent的区别
- Swing之paint与paintComponent的区别
- 【Swing】paint与paintComponent的区别
- 关于Java中的paint,repaint,update三个方法的关系
- 关于Java中的paint,repaint,update三个方法的关系
- 关于Java中的paint,repaint,update三个方法的关系
- MYSQL中删除重复记录的方法
- bjam的主要选项
- mysql的EVENT体验
- 比爱,更爱你
- mysql快速创建空表
- 关于awt/swing组件中paint, update, paintComponent, repaint的经验
- Lesson one hundred thirty nine Is that you,John?
- 登录认证
- "No CurrentSessionContext configured"错误
- GUIXML 的 JavaScript Engine 更新列表 Until Apr. 14.
- linux解决中文乱码
- C初学者应该怎么走?
- 九层之台,起于垒土
- 要一颗平常心,时刻保持好自己的状态