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); } } }
TO wuheng66888(吴恒) 真的太感谢你了,一直在支持我!!! 不知能不能实现模拟画直线的过程呢???? 就是让它一个一个点的慢慢画,让它有一个动态过程可以吗????
看到你很高兴!!!!其实我觉得横坐标就是用数组A中的值,纵坐标就是用递增吧!!!反正肉眼可以看到就可以了!!!
数组a[0],对应的纵坐标为0;
数组a[1],对应的纵坐标为20;最好用Graphics 来实现
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);
}
}
}
真的太感谢你了,一直在支持我!!!
不知能不能实现模拟画直线的过程呢????
就是让它一个一个点的慢慢画,让它有一个动态过程可以吗????