我正在从另一个类创建定义数量的对象,并尝试使用java.awt.Color为每个对象随机分配颜色。

for (int i = 0; i < numBalls; i++){
    ballsInSim.add(
        new BoxBall(
            0,
            0,
            (int) boxWidth,
            (int) boxHeight,
            rng.nextInt(35) + 15,
            rng.nextInt(500) + 25,
            rng.nextInt(500) + 25,
            Color.BLUE, // Create new Colour here using constructor
            myCanvas
        )
    );
}


当前Color.BLUE所在的位置,我想调用Color的构造函数之一,该构造函数将三个整数用于红色,绿色和蓝色值(Color(int r,int g,int b))。

我怎么称呼那个构造函数?我对Java比较陌生,在解决这个问题时遇到了一些麻烦。

最佳答案

为了实现您想要的,只需添加以下内容:

new Color(0, 0, 255)


因此,从本质上讲,它将如下所示:

ballsInSim.add(new BoxBall(0, 0, (int) boxWidth, (int) boxHeight, rng.nextInt(35) + 15, rng.nextInt(500) + 25, rng.nextInt(500) + 25, new Color(0, 0, 255), myCanvas));


为了每次获得随机颜色:

Random R = new Random(256);
Random G = new Random(256);
Random B = new Random(256);

//your color constructor will then be:
new Color(R.nextInt(), G.nextInt(), B.nextInt());


要了解有关颜色类别的更多信息,请参考:Color: Java 7

希望这可以帮助

07-25 23:51
查看更多