java中如何使形状成为随机颜色

cgfeq70w  于 2021-06-30  发布在  Java
关注(0)|答案(3)|浏览(362)

我正在用java做一个形状生成器,每次你按add,它都会输出一个形状。我能做到,但我只能用一种颜色

rectangle.setBackground(java.awt.Color.magenta);

或者其他颜色,但只有那一种。我想做一个方法,将挑选四种不同的颜色(洋红色,橙色,红色,黄色),并设置矩形的颜色随机每次创建一个新的矩形。我一直在看有关浮动的东西,但我不能让它工作,所以有没有办法做它没有浮动?

yvgpqqbh

yvgpqqbh1#

试试这个

import java.util.Random;

Random rand = new Random();

Color getColor()
{
    //Value between 0 and 1  R               G                 B
    return new Color(rand.nextFloat(),rand.nextFloat(),rand.nextFloat());
}

此函数每次调用时都返回一个随机颜色。那么,

rectangle.setBackground(getColor());
xdnvmnnf

xdnvmnnf2#

可以编写如下函数:

Color getColor() {
    Color[] colors = { Color.magenta, Color.orange, Color.red, Color.yellow };
    Random random = new Random();
    return colors[random.nextInt(colors.length)];
}
``` `random.nextInt(colors.length)` 返回范围为的整数 `0` 至 `colors.length - 1` . 检查 `Random#nextInt(int)` 了解更多。
现在,你可以这样称呼它:

rectangle.setBackground(getColor());

nkkqxpd9

nkkqxpd93#

最简单的方法是在你想要使用的颜色不多的情况下,使用整数变量u可以生成一个随机数,并为每个数字设置一个特定的颜色。假设红色=0蓝色=1绿色=2。所以int color=(int)(math.random()*3)这行代码将给出一个0-2之间的随机数,包括0。使用开关(数字){case 0:#将颜色设置为红色
案例1:#将颜色设置为蓝色等。。。

相关问题