窗口中显示的图像闪烁的太厉害了!如何解决? 覆盖repaint方法,使用自己的清屏方式另外建议考虑使用OpenGL 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这里可以不用双缓冲,楼主的问题主要是没有屏蔽AWT的自动清屏(相当耗时) http://www.chinaitlab.com/www/news/article_show.asp?id=178791、通过覆盖public void update(Graphics g)来消除闪烁! 在动画的实现中,经常repaint()是通过两个步骤,其次再调用paint(Graphc的程序,如果下一桢图象可烁: 用到repaint()函数来重画屏幕来实现刷新功能的,首先它调用is g)来重画屏幕,这就容易造以完全覆盖上一桢图象的话,便 ,实现动画的加载,其实在java中public void update()来刷新屏幕成闪烁,特别是一些需要重画背景可以重写update函数如下来消除闪 public void update(G raphics g){ paint(g) } 同样调用repaint()重画屏幕。或者直接重写不调用repaint,而用 Graphics g=getGraphics(); paint(g);来实现重画屏幕。 2、 通过双缓存消除闪烁? 为了防止屏幕重画出现小程序屏幕上去。下面是站 的闪烁,先创建一个屏外绘图区长创建动态广告板时用到的双缓 ,重画完毕,直接将成品再绘制到存技术代码: offScreenImage=createImage(w,h); //创建屏外绘图区 offScreen=offScreenImage.getGrap hics();//取得绘图环境 offScreen.setFont(ne w Font("Serif",Font.PLAIN,14 )); offScreen.drawString("You Are We lcome!",4,getBounds().height/2); } else{ offScreen.setColor(bgClr); offScreen.fillRect(0,0,w,h); offScreen.setColor(fgClr); for(int i=j;i < j+16;i++){ offScreen.drawString (strs[i],0,y+=wordvspace); } y=y-16*wordvspace; } g.drawImage(offScree nImage,0,0,this);//绘制屏外 成品到小程序中 (帮帮新手)数组的拷贝,哪里错了 [求助] 一个幼稚的聊天小程序。 为什么Server说了一句话,Client收不到呢? System.out.println() Collection还是List? UltraEdit-32 配置问题 java的look&feel或者皮肤 code39条码问题 applet如何连接局域网内的SQL数据库 ***** 800分 求教: 我不想通过页面 context.lookup("java:/OracleDS"), UP有分 ***** 如何取得Resultset的记录条数? 请教一个问题 JAVA 读文本的问题
repaint()是通过两个步骤
,其次再调用paint(Graphc
的程序,如果下一桢图象可
烁:
用到repaint()函数来重画屏幕
来实现刷新功能的,首先它调用
is g)来重画屏幕,这就容易造
以完全覆盖上一桢图象的话,便 ,实现动画的加载,其实在java中
public void update()来刷新屏幕
成闪烁,特别是一些需要重画背景
可以重写update函数如下来消除闪
public void update(G
raphics g){ paint(g) }
同样调用repaint()重画屏幕。或者直接重写不调用repaint,而用 Graphics g=getGraphics(); paint(g);来实现重画屏幕。 2、 通过双缓存消除闪烁? 为了防止屏幕重画出现
小程序屏幕上去。下面是站
的闪烁,先创建一个屏外绘图区
长创建动态广告板时用到的双缓
,重画完毕,直接将成品再绘制到
存技术代码:
offScreenImage=createImage(w,h);
//创建屏外绘图区
offScreen=offScreenImage.getGrap
hics();//取得绘图环境
offScreen.setFont(ne
w Font("Serif",Font.PLAIN,14
));
offScreen.drawString("You Are We
lcome!",4,getBounds().height/2);
}
else{
offScreen.setColor(bgClr);
offScreen.fillRect(0,0,w,h);
offScreen.setColor(fgClr);
for(int i=j;i < j+16;i++){
offScreen.drawString
(strs[i],0,y+=wordvspace);
}
y=y-16*wordvspace;
}
g.drawImage(offScree
nImage,0,0,this);//绘制屏外
成品到小程序中