我想从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是新手哦!谢谢各位了!
我写的读点代码是: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是新手哦!谢谢各位了!
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);
}
}
p.x=getX();
p.y=getY();
point1.add(p);不然里面所有点的都是最新的
每次存的时候应该新建一个对象,不然里面所有点的都是最新的有道理,可能就是问题所在。