2011-11-15 126 views
0

我無法使用類常量設置隨機顏色。設置隨機顏色

當我運行該程序,(這是代碼的只是很小的一部分),它給了我在課堂上的圖形

方法的setColor不能應用於給定類型

我很陌生如何設置顏色,有人可以解釋嗎?

public static final int COLOR = (int) (Math.random() * 256); 

    for(int i = 1; i <= count; i++) 
       { 
        g.setColor(new Color(COLOR), (COLOR), (COLOR)); 
        g.drawLine(r.nextInt(MIDX), r.nextInt(MIDY), r.nextInt(MIDX), r.nextInt(MIDY)); 
       } 
+2

你缺少在這一行中的1個大括號'g.setColor(new Color(COLOR),(COLOR),(COLOR));'。它應該是'g.setColor(新顏色((顏色),(顏色),(顏色));'或更好'g.setColor(新顏色(顏色,顏色,顏色)); –

回答

3

試試這個

g.setColor(new Color(COLOR, COLOR, COLOR)); 

基本上這是顏色Color(int r, int g, int b),你試圖調用構造函數。 r,g,b的值可以在0到255的範圍內。在你的情況下,似乎r,g,b將具有與使用相同常數相同的值。

0

您必須獲得0 to 255之間的三個隨機值,然後構造Color對象。

int red=20; 
int green=33; 
int blue=33; 
Color color=new Color(red,green,blue); 
g.setColor(color); 
1

所有的顏色首先不是隨機的,因爲R,G和B都等於所以這將是灰

g.setColor(new Color(RCOMPONENT, GCOMPONENT , BCOMPONENT)); 

生成三個隨機整數並做類似上面