在调整窗口大小时如何不让JPanel清除之前的图像 10

我先是把JPanel的paint()方法重写为publicvoidpaint(Graphicsg){}然后使用JPanel的getGraphics()进行绘图但是在绘图完... 我先是把JPanel的paint()方法重写为
public void paint(Graphics g){}
然后使用JPanel的getGraphics()进行绘图
但是在绘图完成后我调整窗口大小,图像就消失了
我不想专门做一个线程来重复绘图,如何在调整窗口大小时不让图像消失?
展开
 我来答
梦回三国贱貂蝉
2017-12-04 · TA获得超过1068个赞
知道小有建树答主
回答量:765
采纳率:100%
帮助的人:146万
展开全部
awt有一个BufferedImage类,这个类有一个返回int类型的getRGB()方法,这个数据格式是0xrrggbb,所以只需通过移位就能获得对应的R,G,B数值:intrgb=image.getRGB(x,y);intR=(rgb&0xff0000)>>16;intG=(rgb&0xff00)>>8;intB=(rgb&0xff);问题在于,如何拿到BufferedImage对象,这个类不能用来根据硬盘上的图片初始化一个内存中的图像。现在有两种方法可以正确的初始化bufferedImage.1、初始化一个固定大小的BufferedImage画布,用他对应的Graphics对象调用graphics.drawImage()方法在画布上画图。2、awt有个Robot类,它有个很重要的函数叫做createScreenCapture,用来截屏的。它接受的参数是一个Rectangle对象,用来表明截屏位置和大小。最关键的是这个函数直接返回BufferedImage对象。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式