Como gerar letras aleatórias no meu Jframe?

2 respostas
TheWindWaker

Boa tarde, pessoal

Estou criando um programa em java bem simples utilizando um JFrame , sua função é gerar letras de forma aleatória na tela depois do botão iniciar ter sido apertado.O meu problema é o seguinte : eu aperto o botão de iniciar mas não gera as letras de forma aleatória , mas se eu ficar clicando no botão iniciar elas alteram, então eu queria que fosse de forma automática acionada depois do clique do botão iniciar .

<b>Queria que funcionasse  que nem nesse site:
(https://tenor.com/view/alfabeto-abc-letras-gif-9605114)</b>


Então, por enquanto é  isso ,toda tipo de ajuda será bem-vinda,  tenham um pouco de paciência comigo pois sou iniciante, tenham piedade da minha alma.
<b><a>Meu código-fonte</a>:</b>
private void BtIniciarActionPerformed(java.awt.event.ActionEvent evt) {
        String letra=" ";
        int aleatoria,controle=0;
        Random girar = new Random();
        aleatoria = girar.nextInt(27);
while(controle<=100){
    switch(aleatoria){
        
        case 0: letra="A";
        break;
        
        case 1: letra="A";
        break;
        
        case 2: letra="B";
        break;
        
        case 3: letra="C";
        break;
        
        case 4: letra="D";
        break;
        
        case 5: letra="E";
        break;
        
        case 6: letra="F";
        break;
        
        case 7: letra="G";
        break;
        
        case 8: letra="H";
        break;
        
        case 9: letra="I";
        break;
        
        case 10: letra="J";
        break;
        
        case 11: letra="K";
        break;
        
        case 12: letra="L";
        break;
        
        case 13: letra="M";
        break;
        
        case 14: letra="N";
        break;
        
        case 15: letra="O";
        break;
        
        case 16: letra="P";
        break;
        
        case 17: letra="Q";
        break;
        
        case 18: letra="R";
        break;
        
        case 19: letra="S";
        break;
        
        case 20: letra="T";
        break;
        
        case 21: letra="U";
        break;
        
        case 22: letra="V";
        break;
        
        case 23: letra="W";
        break;
        
        case 24: letra="X";
        break;
        
        case 25: letra="Y";
        break;
        
        case 26: letra="Z";
        break;
    }
    
    LbGira.setText(letra);
    controle++;
       }


}</br>

O programa na sua forma atual :

2 Respostas

E

Faça uma string com todas as letras do alfabeto, gere um numero de 0 a 25 e utilize charAt.

Lucas_Camara

Vc vai pecisar usar uma thread para fazer isso. Dentro do bloco de execução da thread, faça a lógica que seleciona a letra e altere o texto do label.

Se tiver alguma dúvida em como usar threads, soh falar que a gente ajuda. Flws!

Criado 26 de dezembro de 2019
Ultima resposta 26 de dez. de 2019
Respostas 2
Participantes 3