java imageframe_JAVA中image(用Bufferedinmage得到的image)所在的frame干扰其他frame,原因?解决方法?...

由于图象大小比panel要小,而我希望让图片适应panel的大小,所以用Bufferedimage来得到与panel一样大的图象.现在一切都实现了,都没问题了,图象效果也很好.就是有一个小问题:图象所在的F...

由于图象大小比panel要小,而我希望让图片适应panel的大小,所以用Bufferedimage来得到与panel一样大的图象.现在一切都实现了,都没问题了,图象效果也很好.就是有一个小问题:

图象所在的Frame对其他的frame产生了干扰,具体干扰效果是:此frame像个橡皮一样,慢慢的移动它,当他覆盖了其他frame某部分后再移开,那么那部分该显示的东西都不显示了,要让其重新显示只需把有图象的frame最小化那么其他的frame将变得正常.

我应该说的比较清楚了,请高手为我解惑.

一.到底出现这种问题的原因是什么?

二.我应该怎么解决它?最好给出几句关键代码(要用的方法什么的)

如果真能解决我的问题我再附加20分.

千万注意:我是image加到 panel再加到 frame中的,我希望: 一.不论图片多大总能填满整个frame,而frame大小不变.(图片小了就扩大图片,反之缩小)

二,当在frame中能看见图片后,我用鼠标拉大或缩小frame,图片跟着变化,总之能填满frame.(其实这一点我就是让frame.add(panel.BorderLayout.CENTER)实现的).(因为图片能填满panel,我只需让panel填满frame即可.)

有个关于Bufferedimage的方法(就是使图片大小适应panel大小的方法)位于继承JPanel的类中,函数如下:可能它有问题:::::::(我说的很罗嗦啊,但也很详细了)

public void paint(Graphics g){

try {

src=ImageIO.read(new File("D:/2.jpg"));

//src = src1;

int width = this.getWidth();

int height = this.getHeight();

image = src.getScaledInstance(width, height, Image.SCALE_REPLICATE) ;

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

g.drawImage( image, 0, 0,this);

//image.flush();

}

展开


版权声明:本文为weixin_35757732原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。