我需要设置JPanel
背景光颜色,以便不覆盖文字(粗体黑色)。
此刻我有这个:
import java.util.Random;
....
private Random random = new Random();
private JPanel panel = new JPanel();
panel.setBackground( new Color( random.nextInt() ) );
但它会产生"任何"随机颜色。 我怎么能这样做?
由于
答案 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)
我建议不要使用随机颜色作为背景。它会打印出难看的背景颜色,让你的程序看起来很草率。
我建议您列出漂亮的颜色,然后随机选择列表中的一种颜色。
您可以在下面的网页上找到漂亮的颜色列表。