java只生成随机“浅色”颜色

时间:2013-07-18 09:44:35

标签: java random colors

我需要设置JPanel背景颜色,以便不覆盖文字(粗体黑色)。

此刻我有这个:

import java.util.Random;

....

private Random random = new Random();
private JPanel panel = new JPanel();
panel.setBackground( new Color( random.nextInt() ) );

但它会产生"任何"随机颜色。 我怎么能这样做?

由于

3 个答案:

答案 0 :(得分:8)

Color有一个构造函数,它接受红色,绿色和蓝色三个值。如果你给每个人一个从100左右到255的随机值,你将只得到浅色。

使用HSB系统可能会产生更好的结果,例如 new Color(Color.HSBtoRGB((float) Math.random(), (float) Math.random, 0.5F + ((float) Math.random())/2F));

答案 1 :(得分:4)

创建颜色from RGB values,并确保R,G和B足够大,以使整体颜色变浅。 [0,0,0]为黑色。并且[255,255,255]是白色的。因此,您可以生成一个颜色,其中R,G和B的值例如是200到255之间的随机值。

答案 2 :(得分:2)

我建议不要使用随机颜色作为背景。它会打印出难看的背景颜色,让你的程序看起来很草率。

我建议您列出漂亮的颜色,然后随机选择列表中的一种颜色。

您可以在下面的网页上找到漂亮的颜色列表。

http://colorschemedesigner.com/

http://www.colorcombos.com/

http://www.color-swatches.com/top-swatches.html