今天给各位分享java图形闪烁的知识,其中也会对java重绘闪烁进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、关于JAVA中图像加载闪烁问题2、JAVA 第一次绘制画板的时候画板会闪烁3、g如何用双缓冲解决java swing图像移动闪烁4、Java repaint 后 图面闪烁 该怎么解决?5、Java怎么用双缓冲解决重绘图片闪烁问题6、java程序有关图片闪烁的问题!
关于JAVA中图像加载闪烁问题
使用双缓冲消除闪烁现象。将所有东西画在虚拟图片上一次显示出来。要重写update方法。
JAVA 第一次绘制画板的时候画板会闪烁
可能是你加载canvas的时候闪的
可以新建一个BufferedImage img 和Graphics2D g2d=img.createGraphics;
用g2d绘图,例如g2d.drawRect(0,0,100,100);
然后直接在jpanel上利用public void paintComponent(Graphics g)函数 g.drawImage(img,0,0,width,height,this)画出来, 可以解决闪烁问题。canvas属于比较重的组件 不推荐使用
g如何用双缓冲解决java swing图像移动闪烁
双缓存:缓存区是绘图绘图时使用的屏外内存区。使用双缓存不是直接绘制屏幕,而是绘制到后缓存区,然后将整个缓存区复制到屏幕上,这样就可以同时更新整个屏幕,游戏者只看到要看到的东西了。后缓存区可能只是普通java图像。可以用Component类的createImage(int w,int h)方法生成后缓存区,如果是不使用活动绘制的小程序使用双缓存,则可以覆盖update()方法,改用双缓存,并用双缓存的图形描述表调用paint()方法,实现代码如下:
private Image doubleBuffer;
public void update(Graphics g){
Dimension size=getSize();
if(doubleBuffer.getWidth(this)!=size.width||doubleBuffer.getHeight(this)!=size.height)
{ doubleBuffer=createImage(size.width,size.height);
}
if(doubleBuffer!=null){
//绘制到双缓存区
Graphics g2=doubleBuffer.getGraphics();
paint(g2);
g2.dispose();
//将双缓存复制到屏幕
g.drawImage(doubleBuffer,0,0,null);
}
else
{//不要双缓存,只绘制屏幕
paint(g);
}
}
public void paint(Graphics g){
//在此绘图
}
Java repaint 后 图面闪烁 该怎么解决?
不是加update(),你的repaint函数里面是不是绘制了很多个图像。解决办法是采用双重缓冲。
大致原理是建立一个临时的画布,把你要绘制到屏幕上的很多图形先绘制到这个临时画布上,然后一次性的将绘制好了的临时画布绘制到屏幕上。这样就可以消除闪烁了。
你到网上去查下双重缓冲怎么用的吧,很简单的,做游戏肯定会用的。
Java怎么用双缓冲解决重绘图片闪烁问题
不建议用以前的AWT控件,使用SWING控件就可以完全解决闪烁问题了
你看的可能是比较老旧的JAVA教程吧,早期的JAVA教程都会介绍这些内容,但从1.5开始JAVA的SWING控件已经做的很好了,完全没有这些问题,所以直接使用SWING控件,放弃AWT控件吧
java程序有关图片闪烁的问题!
不要在JFrame的paint方法中绘制图片,因为本身JFrame需要进行自身绘制,加上你的图片,就会有一些闪烁情况。好的方法是你新定义一个类从Component或者JComponent继承,然后把绘制的东西都放到这个类里面,然后在JFrame这个类中创建一个新创建的绘制组件。就OK了。
java图形闪烁的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java重绘闪烁、java图形闪烁的信息别忘了在本站进行查找喔。