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

解决方案 »

  1.   

    TO wuheng66888(吴恒) 
    看到你很高兴!!!!其实我觉得横坐标就是用数组A中的值,纵坐标就是用递增吧!!!反正肉眼可以看到就可以了!!!
      

  2.   

    纵坐标就是用递增的做法,比如
    数组a[0],对应的纵坐标为0;
    数组a[1],对应的纵坐标为20;最好用Graphics 来实现
      

  3.   

    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);
             }
       }
    }
      

  4.   

    TO wuheng66888(吴恒) 
    真的太感谢你了,一直在支持我!!!
    不知能不能实现模拟画直线的过程呢????
    就是让它一个一个点的慢慢画,让它有一个动态过程可以吗????
      

  5.   

    能实现。有点麻烦。得用timer类了。还得计算出好多点了