0

这只是我的代码的一部分,它不能按我的意愿工作。当绘制循环中的矩形时,它每次都绘制在同一个地方,尽管我对 X 和 Y 轴使用了随机数。我想绘制矩形 5 次(因为它是在循环中设置的)并且每次都在随机坐标上。如果需要整个代码,请告诉我。谢谢!

    public void paintComponent(Graphics g){
    random=new Random();
    rX=random.nextInt(500);
    rY=random.nextInt(500);
    super.paintComponent(g);    

        for(int i=0;i<=5;i++){
        g.fillRect(rX,rY,20,20);
        }


    g.setColor(Color.red);
    g.fillOval(x,y,20,20);

}
4

1 回答 1

3

目前您的代码只生成一次坐标。(感谢 Jon Skeet 指出)

如果您希望它绘制五个不同的三角形,您应该将调用移动到random.nextInt循环内部。

public void paintComponent(Graphics g){
    random=new Random();

    super.paintComponent(g);    

    for(int i=0; i<=4; i++){
        rX=random.nextInt(500);
        rY=random.nextInt(500);
        g.fillRect(rX,rY,20,20);
    }


    g.setColor(Color.red);
    g.fillOval(x,y,20,20);

}
于 2013-07-18T08:00:17.240 回答