public class second extends JPanel implements ActionListener {
ArrayList<Ellipse2D.Double> circles = new ArrayList<Ellipse2D.Double>();
Timer t = new Timer(5, this);
double x=0, y=0, velX=1, velY=1;
circles.add(new Ellipse2D.Double(x,y,10,10));
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
for(Ellipse2D.Double k : circles){
g2.draw(k);
}
g2.fill(k);
t.start();
}
}
public void actionPerformed(ActionEvent e) {
if (x < 0 || x > 560) {
velX = -velX;
}
if (y <0 || y >360){
velY = -velY;
}
//x+= velX;
y += velY;
repaint();
}
我尝试过这样做,但是没有用,我知道如何绘制它们并让它们移动但是我认为我的问题是初始化arraylist
错误:此行有多个标记 - 令牌“add”上的语法错误,=之后的预期 这个标记 - 令牌上的语法错误,错放的构造(s) 这个错误是我添加圆圈的地方
答案 0 :(得分:1)
您只能在另一个方法中执行add方法。 所以你应该移动这部分:
circles.add(new Ellipse2D.Double(x,y,10,10));
一种方法。
答案 1 :(得分:0)
此代码不起作用。
(另请注意,您的班级名称没有资本。这可能是类型错误。)
答案 2 :(得分:0)
circles.add(new Ellipse2D.Double(x,y,10,10));
应该是某种方法。
此外,方法public void actionPerformed(ActionEvent e)在类之外。检查{}