直线的相关问题!!

来源:互联网 发布:淘宝上传图片分辨率 编辑:程序博客网 时间:2024/05/17 22:51

比如在数组int [] a = new int []{4,8,79,6,55,7};中,如果我想实现:
用直线连接数组a中的每一个点!!!!
要求能画出这个图形!!!!

 

OK了请结贴吧。


import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

public class DrawTest

   public static void main(String[] args)
   { 
      DrawFrame frame = new DrawFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
   }
}

/**
   A frame that contains a panel with drawings
*/
class DrawFrame extends JFrame
{
   public DrawFrame()
   {
      setTitle("DrawTest");
      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

      // add panel to frame

      DrawPanel panel = new DrawPanel();
      add(panel);
   }

   public static final int DEFAULT_WIDTH = 400;
   public static final int DEFAULT_HEIGHT = 400; 
}

/**
   A panel that displays rectangles and ellipses.
*/
class DrawPanel extends JPanel

   public void paintComponent(Graphics g)
   { 
      super.paintComponent(g);
      Graphics2D g2 = (Graphics2D) g;

      // draw a rectangle
      int [] a = new int []{4,8,79,6,55,7};
      Point2D[]t=new Point2D[a.length];
      for(int i =0;i<a.length;i++)
      {
      t[i] =new Point2D.Double(a[i],i*20);
       }
       for(int i = 0;i<t.length - 2;i++)
       {
         Line2D  b = new Line2D.Double(t[i],t[i+1]);
         g2.draw(b);
         }
   }
}
 

原创粉丝点击