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

解决方案 »

  1.   

    paint组件? 只能Paint组件的内容吧?
      

  2.   

    我的意思是,我要在一个组件,比如JPanel上绘图,但是由于所要绘制图形的特殊性,必须自定义绘图方法,我知道用repaint调用paint等方法可以让窗口恢复显示后重新显示绘制的图形,但有这个方法无法用于重新显示我绘制的图形。
      

  3.   

    截屏,将图像存到BufferedImage中
      

  4.   


    不太明白为什么repaint重绘不能解决你的问题。能否把代码贴出来看看?
    不过,要想达到你的目的,恐怕最简单的办法就是干脆在窗口重新激活的方法windowActivated中重新执行一遍你的绘图方法了,虽然这样很耗资源,但是你要是赶时间,不妨先对付一下。