【Java开源代码栏目提醒】:以下是网学会员为您推荐的Java开源代码-BufferedGraphics.java,希望本篇文章对您学习有所帮助。
import java.applet.*;
import java.awt.*;
public class BufferedGraphics extends Object
{
// 用来绘制屏外图像的Component
protected Component parent;
// 屏外绘制的 Image
protected Image buffer;
// 创建一个新的BufferedGraphics对象
protected BufferedGraphics()
{
parent = null;
buffer = null;
}
// 用所传入的父Component创建新的BufferedGraphics对象
public BufferedGraphics(Component c)
{
parent = c;
createBuffer();
}
public final Image getBuffer()
{
return buffer;
}
// 在校验完缓冲区后返回缓冲区的 Graphics容器
public Graphics getValidGraphics()
{
if(! isValid())
{
createBuffer();
}
return buffer.getGraphics();
}
// 用parent的宽和高来创建一个屏外绘制图像
protected void createBuffer()
{
Dimension size = parent.getSize();
buffer = parent.createImage(size.width, size.height);
}
// 检验屏外图像,防止几个严重的问题:空引用和大小不一致
protected boolean isValid()
{
if(parent == null)
{
return false;
}
Dimension s = parent.getSize();
if(buffer == null ||
buffer.getWidth(null) != s.width ||
buffer.getHeight(null) != s.height)
{
return false;
}
return true;
}
} // BufferedGraphics
上一篇:
BufferDrawExample.java
下一篇:
春天的兰花草