鼠标按住不放在容器里面移动,会有画笔的效果,画出图案,请问高手这个程序该如何实现,我重写了鼠标监听器的MousePressed()方法,还是无法实现。

解决方案 »

  1.   

    以前写过一个类似的,楼主试试看吧import java.awt.Graphics;
    import java.awt.Point;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionAdapter;
    import java.util.Vector;
    import javax.swing.JFrame;public class Paint extends JFrame
    {
       Vector v = new Vector();
       Vector vec = new Vector();
       public void paint(Graphics g)
       {
          int[] x, y;
          for (int j = 0;
          j < vec.size();
          j++)
          {
             x = new int[((Vector) vec.get(j)).size()];
             y = new int[((Vector) vec.get(j)).size()];
             for (int i = 0;
             i < ((Vector) vec.get(j)).size();
             ++i)
             {
                Point p = (Point) ((Vector) vec.get(j)).get(i);
                x[i] = p.x;
                y[i] = p.y;
             }
             g.drawPolyline(x, y, ((Vector) vec.get(j)).size());
          }
       }
       public void init()
       {
          vec.add(v);
          addMouseMotionListener(new MouseMotionAdapter()
          {
             public void mouseDragged(MouseEvent e1)
             {
                Point p = e1.getPoint();
                v.add(p);
                repaint();
             }
          }
          );
          addMouseListener(new MouseAdapter()
          {
             public void mouseReleased(MouseEvent e2)
             {
                v = new Vector();
                vec.add(v);
             }
          }
          );
       }
       public static void main(String[] args)
       {
          Paint pa = new Paint();
          pa.setSize(500,500);
          pa.setVisible(true);
          pa.init();
       }
    }
      

  2.   

    http://blog.csdn.net/kao331431214/archive/2008/12/20/3566464.aspx可以去参考下