双缓存原理就是事先在一个Image上绘图,然后再将这幅图画在组件上。
一、swing中的JComponent类及其子类都能自动实现双缓存技术,但是JFrame等顶级组件不能自动实现。但是JPanel等就可以。
二、JFrame、其他awt或applet就要定义一个Image doubleBuffer,在paint中createImage()再定义一个Graphics对象,g2=Image.getGraphics(),这样用g2就是在该Image上绘图,然后用g.drawImage(Image,,,)在指定位置画出该Image即可
如:
Image doubleBuffer;
void paint(Graphics g)
{
doubleBuffer=createImage(this.getWidth(),this.getHeight());
g2.dispose();
g2.drawLine();
g.drawImage(doubleBuffer, 0, 0, this);
}
浙公网安备 33010602011771号