import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.awt.geom.*;
import javax.swing.*;public class MainUI extends JApplet{

private JPanel panel;
private Line2D current;
private ArrayList lineList;

Point2D startPos;
Point2D endPos;

public void init()
{
panel = new JPanel();
getContentPane().add(panel);
lineList = new ArrayList();
current = null;
}
public void start(){
addMouseListener(new MouseHandler());
}

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

for(int i = 0;i<lineList.size();i++)
{
g2.draw((Line2D)lineList.get(i));
}
}

private class MouseHandler extends MouseAdapter
{
public void mousePressed(MouseEvent event)
{
startPos = event.getPoint();
}
public void mouseReleased(MouseEvent event)
{
endPos = event.getPoint();
add(startPos,endPos);
}
}

public void add(Point2D sPos,Point2D ePos)
{
current = new Line2D.Double(sPos,ePos);
lineList.add(current);
repaint();
}

}我想实现的是,在panel上面画线.用linelist保存每一根线,以重绘