Utilização do ''random" mudança de cores no JApplet

ola…
estive pesquisando sobre como gerar cores variadas num texto rodando num aplicativo em applet,
achei aqui no forum o seguinte trecho de codigo:

    [color=blue] int[/color] red =   ( [color=blue]int[/color]) ( [color=darkblue]Math[/color].random() * 255 );
    [color=blue] int[/color] green =  ( [color=blue]int[/color]) ([color=darkblue] Math[/color].random() * 255 );
    [color=blue]int[/color] blue =   ( [color=blue]int[/color]) ( [color=darkblue]Math[/color].random() * 255 );

[color=darkblue]Color[/color] random = [color=blue]new[/color] Color(red, green, blue);
[color=blue]super[/color].paint(g);
g.setColor(random);

enfim, implementei o codigo acima no programa desejado e funcionou, contudo nao consegui entender a logica do trecho
[color=blue] int[/color] red = ( [color=blue]int[/color]) ( [color=darkblue]Math[/color].random() * 255 );…
para que serve tal mutiplicação?

tu tá dizendo que red é um número aleatório de 0 a 255 :wink:

edição:
por o :wink:

Bem-vindo ao GUJ!

O random te retorna um número de ponto flutuante de 0 até 1.
Então, multiplicar por 255 te retorna um número entre 0 e 255.

Esse método é muito ruim. As chances de dar 255 são muito pequenas, já que o escopo de números menores que ele é muitíssimo maior. A minha sugestão é que no lugar você use a classe Random(), que não só gera uma dispersão com um comportamento melhor, como tem uma sintaxe melhor de entender.

Veja o exemplo:

Random random = new Random();
int red = random.nextInt(255);
int green = random.nextInt(255);
int blue = random.nextInt(255);

Color random = new Color(red, green, blue);
super.paint(g);
g.setColor(random); 

Dá uma lida nesse tópico aqui, que ensina também a usar o recurso de formatação de códigos do fórum. :slight_smile:
http://www.guj.com.br/posts/list/50115.java