2011-11-15 121 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)); 

生成三个随机整数并做类似上面