提问:如何消除在JPanel上绘制线条出现的闪动? imgv=createImage(x,y);gv=imgv.getGraphics();gv.drawline()用这种方法--创建双缓冲。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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(); }} 谢谢两位,给分,但效果没有变,拖动的时候还闪:(在mouseDragged方法里应该怎样刷新线条?直接drawline两次还是repaint?? 你可以创建一个新的线程,重写run的方法,将repaint()的方法加到其中去。试试,我们游戏都这样实现。 Jtable中Jcheckbox,如何选中checkbox就相当于这一行已经被选中 BigDecimal精度问题 求指教 swing做的拼图简单移动的事例---求帮我看下为什么出错 小问题,高分相送。欢迎指出错误! 如何利用聊天室的漏洞起名可以让踢自己的人被踢出去~~~~~~谢谢 定义两个类A类和B类,怎么令A类只能经过B类的方法来实例化,而不能直接用new? tomcat配置问题,一定给分! Java趣味题5 - 评委打分 答案 JavaSE的小项目问题 寻求java中的字符处理代码 请问两个JAVA问题,一个很浅、一个可能很深
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();
}
}
在mouseDragged方法里应该怎样刷新线条?直接drawline两次还是repaint??
试试,我们游戏都这样实现。