窗口隐藏后,组件上所绘的内容消失,怎么让它恢复?

tengfeng05 2010-06-06 02:24:32
如题,当窗口隐藏后,组件上绘制的内容消失了,如何让它恢复?我的绘图方法是自定义的,所以大家就别建议我用repaint、paint、paintComponent等方法了。
有没有办法在用户将窗口隐藏时,发一个消息给应用程序,程序接受到这个消息将组件上绘制的内容保存到一副图像中,然后组件恢复显示后再将这幅图像绘制到组件上去?
...全文
125 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixkyx 2010-06-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tengfeng05 的回复:]

引用楼主 tengfeng05 的回复:
如题,当窗口隐藏后,组件上绘制的内容消失了,如何让它恢复?我的绘图方法是自定义的,所以大家就别建议我用repaint、paint、paintComponent等方法了。
有没有办法在用户将窗口隐藏时,发一个消息给应用程序,程序接受到这个消息将组件上绘制的内容保存到一副图像中,然后组件恢复显示后再将这幅图像绘制到组件上去?
我的意思是,我要在一个组件……
[/Quote]

不太明白为什么repaint重绘不能解决你的问题。能否把代码贴出来看看?
不过,要想达到你的目的,恐怕最简单的办法就是干脆在窗口重新激活的方法windowActivated中重新执行一遍你的绘图方法了,虽然这样很耗资源,但是你要是赶时间,不妨先对付一下。
xu3352 2010-06-06
  • 打赏
  • 举报
回复
截屏,将图像存到BufferedImage中
tengfeng05 2010-06-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 tengfeng05 的回复:]
如题,当窗口隐藏后,组件上绘制的内容消失了,如何让它恢复?我的绘图方法是自定义的,所以大家就别建议我用repaint、paint、paintComponent等方法了。
有没有办法在用户将窗口隐藏时,发一个消息给应用程序,程序接受到这个消息将组件上绘制的内容保存到一副图像中,然后组件恢复显示后再将这幅图像绘制到组件上去?
[/Quote]我的意思是,我要在一个组件,比如JPanel上绘图,但是由于所要绘制图形的特殊性,必须自定义绘图方法,我知道用repaint调用paint等方法可以让窗口恢复显示后重新显示绘制的图形,但有这个方法无法用于重新显示我绘制的图形。
zjnuliubo 2010-06-06
  • 打赏
  • 举报
回复
哈哈,挺好用的
healer_kx 2010-06-06
  • 打赏
  • 举报
回复
paint组件? 只能Paint组件的内容吧?

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧