bufferedgraphics.java

来自「java learn PPT java learn PPT java learn」· Java 代码 · 共 69 行

JAVA
69
字号
     import java.applet.*;
     import java.awt.*;
 
     public class BufferedGraphics extends Object
     {
          // 用来绘制屏外图像的Component
          protected Component parent;

          // 屏外绘制图像
          protected Image buffer;

          // 创建一个新的BufferedGraphics对象           
          protected BufferedGraphics()
          {
               parent = null;
               buffer = null;
          }

          // 用传入的parent Component创建一个新的BufferedGraphics对象
          public BufferedGraphics(Component c)
          {
               parent = c;

               createBuffer();
          }

          public final Image getBuffer()
          {
               return buffer;
          }

          // 在验证buffer后返回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);
          }

          // 校验屏外图像的几个关键之处,主要是校验空引用和parent的宽和高
          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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?