我想从Vector里边把几个点读出来,可是老是读出最近捕获的那个点,怎么样才能将里边存的所有点读来呢?
我写的读点代码是:for (int k=0;k<point1.size();k++)
                  {
             M v=(M)point1.get(k); 
             g.fillRoundRect(v.x,v.y,6,6,10,10);
                  }//M是一个点的class
存的代码是:
         p.x=getX();
         p.y=getY();
         point1.add(p);               
         repaint();
//point1为Vector的一个引用;p是M的对象;
谢谢各位高手啊!
越具体越好!~~~~~ME是新手哦!谢谢各位了!

解决方案 »

  1.   

    晕,这里的分多啊。再贴一遍,哈哈。import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.border.*;public class PointPaninter extends JPanel {
        Vector<Point> points = new Vector<Point>();    public PointPaninter() {
            setPreferredSize(
                new Dimension(400, 300));        addMouseListener(
                new MouseAdapter(){
                    public void mouseReleased(MouseEvent e) {
                        points.add(e.getPoint());
                        repaint();
                    }
            });
        }
        public void paint(Graphics g) {
            for (int k=0; k<points.size(); k++) {
                Point p = points.get(k);
                g.fillRoundRect(p.x, p.y, 6, 6, 10, 10);
            }
        }    public static void main(String[] args) {
            JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Container container = frame.getContentPane();        container.add(new PointPaninter());        frame.pack();
            frame.setVisible(true);
        }
    }
      

  2.   

    M p = new M();
     p.x=getX();
     p.y=getY();
     point1.add(p);