当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

重绘之画图板

发表于: 2015-03-15   作者:朱辉辉33   来源:转载   浏览:
摘要:        上次博客讲的五子棋重绘比较简单,因为只要在重写系统重绘方法paint()时加入棋盘和棋子的绘制。这次我想说说画图板的重绘。        画图板重绘难在需要重绘的类型很多,比如说里面有矩形,园,直线之类的,所以我们要想办法将里面的图形加入一个队列中,这样在重绘时就
       上次博客讲的五子棋重绘比较简单,因为只要在重写系统重绘方法paint()时加入棋盘和棋子的绘制。这次我想说说画图板的重绘。
       画图板重绘难在需要重绘的类型很多,比如说里面有矩形,园,直线之类的,所以我们要想办法将里面的图形加入一个队列中,这样在重绘时就可以取出队列中的所以图形,然后绘制。
  首先我们可以创建一个接口,命名为shape(),里面只有draw()一个方法,这样我们建其他图形类时都可以继承这个接口,例如
public class Rect implements Shape{
   int x,y,width,height;

           public Rect(int x, int y, int width, int height) {
                     super();
                     this.x = x;
                     this.y = y;
                     this.width = width;
                     this.height = height;
   }

                  public void draw(Graphics g) {
                  g.drawRect(x, y, width, height);

          }

}
       这样我们每在画图板上绘制一个图形,都同时把这个图形加入队列list中,重绘时只要把每个图形取出来,然后调用它的draw()方法,这样就全部绘制出来了。
       JPanel drawpanel =new JPanel(){

       public void paint(Graphics g){

        super.paint(g);   for(int i=0;i<list.size(); i++){
         Shape shape = (Shape)list.get(i);
         shape.draw(g);
     }
}
         };

重绘之画图板

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号