2013-07-18 225 views
0

我需要設置一個JPanel背景與淺色顏色只爲了不覆蓋文本(粗體黑色)。java只產生隨機「淺色」顏色

在這一刻我有這樣的:

import java.util.Random; 

.... 

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

但它生成 「任何」 顏色隨機。 我該怎麼做?

由於

回答

8

Color有一個構造函數,它爲紅色,綠色和藍色取三個值。如果你給他們每個人一個從100左右到255的隨機值,你只會得到淺色。

HSB系統的使用可能會給出更好的結果,例如, new Color(Color.HSBtoRGB((float) Math.random(), (float) Math.random, 0.5F + ((float) Math.random())/2F));

+0

得益於它完美 – Frank

4

創建顏色from RGB values,並確保R,G和B是足夠大,以使整體顏色的光。 [0,0,0]是黑色的。 [255,255,255]是白色的。因此,例如,您可以生成一個顏色,其中R,G和B的值是200到255之間的隨機值。