当前位置: 技术问答>java相关
提问:如何消除在JPanel上绘制线条出现的闪动?
来源: 互联网 发布时间:2015-03-11
本文导语: 我做了一个小程序,可以用鼠标拖动面板上的两个图标,它们之间用一条线相连,但拖动的时候和拖动完后那条线会闪(用drawline方法的xor模式画在面板上的),有什么好办法可以解决呢?有没有例子?? ...
我做了一个小程序,可以用鼠标拖动面板上的两个图标,它们之间用一条线相连,但拖动的时候和拖动完后那条线会闪(用drawline方法的xor模式画在面板上的),有什么好办法可以解决呢?有没有例子??
|
imgv=createImage(x,y);gv=imgv.getGraphics();
gv.drawline()用这种方法--创建双缓冲。
gv.drawline()用这种方法--创建双缓冲。
|
import java.awt.*;
public class DoubleBufferPanel extends Panel{
Image offscreen;
public void invalidate(){
super.invalidate();
offscreen=null;
}
punlic void update(Graphics g){
paint (g);
}
public void paint (Graphics g){
if(offscreen==null){
offsrceen=createImage(getSize().width,
getSize().height);
}
Graphics og=offscreen.getGraphics();
og.setClip(0,0,getSize().width,getSize().height);
super.paint(og);
g.drawImage(offscreen,0,0,null);
og.dispose();
}
}
public class DoubleBufferPanel extends Panel{
Image offscreen;
public void invalidate(){
super.invalidate();
offscreen=null;
}
punlic void update(Graphics g){
paint (g);
}
public void paint (Graphics g){
if(offscreen==null){
offsrceen=createImage(getSize().width,
getSize().height);
}
Graphics og=offscreen.getGraphics();
og.setClip(0,0,getSize().width,getSize().height);
super.paint(og);
g.drawImage(offscreen,0,0,null);
og.dispose();
}
}
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。