想要为方法setBackgroundColor()设置多种颜色

时间:2017-03-09 11:03:26

标签: java graphics2d

我需要一个关于如何为方法setBackgroundColor设置多种颜色的小建议,我设法制作多种颜色,但只有当程序随机选择颜色但我想设置特定的4或5种颜色时,这里是我的部分代码: (所以在选定的对象上它会改变颜色)

if (isSelected)
    style.setBackgroundColor (new Color ((float) Math.random(),
                                         (float) Math.random(),
                                         (float) Math.random()));
  else
    style.unsetBackgroundColor();

1 个答案:

答案 0 :(得分:0)

由于您需要4种或5种特定颜色,因此您可以制作清单。

ArrayList<Color> colorList = new ArrayList<Color>();
//Then you add any colors you want, although you would have to define them yourself.
colorList.add(color1);

将颜色添加到颜色列表后,您需要一种抓取随机颜色的方法。我们可以做到这一点的一种方法是创建一个Random对象并使用它来查找从0到列表大小的整数。

Random rand = new Random();
int colorNum = rand.nextInt(colorList.size());

现在我们有了实际的数字,我们可以简单地访问列表中的那个索引。

Color c = colorList.get(colorNum);
//Now, assuming your code above works for one color, you could do your 
style.setBackgroundColor(c);

通过这种方式,您可以根据用户请求添加任何颜色,甚至可以制作颜色,只要将其添加到列表中,它就可以处理任何颜色。