Estou com problemas para escrever um loop que escolhe 6 carta aleatória e coloca sua respectiva imagem em um botão.
para isso eu queria usar os nomes dos botõe jButton2, jButton3, jButton4 … Jbutoon7.
Olha o codigo que eu estava tentando
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
int i;
for(i=2;i<=7;i++){
int jogadorA;
int naipeA;
jogadorA = redondo(Math.random()*13); // Retorna numero aleatório arredondado pelo método (redondo) retornando a carta de A e de B
naipeA = redondoNaipe(Math.random()*2);
jButton[i].setIcon(new javax.swing.ImageIcon("C:\Curso Java 1\Jogo baralho\cartasimg\"+jogadorA+"_"+naipeA+".JPG"));
}
}
Cara não entendi muito bem o que vc quer fazer e o seu codigo está meio confuso:
Se eu entendi bem, vc quer as imagens dos botoes sejam escolhidas aleatoriamente…vendo o seu codigo eu dei uma arrumada…tenta assim:
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
int i;
for(i=0;i<6;i++){
int jogadorA;
int naipeA;
Random random = new Random();
jogadorA = redondo(random.nextInt(6)); // Retorna numero aleatório arredondado pelo método (redondo) retornando a carta de A e de B
naipeA = redondoNaipe(random.nextInt(6));
jButton[i].setIcon(new javax.swing.ImageIcon("C:\Curso Java 1\Jogo baralho\cartasimg\" +jogadorA+ "_" +naipeA+ ".JPG"));
}
Nao amigo, nao da pra fazer assim não… O compilador não vai entender que você está querendo concatenar o i com o nome da variável. Para funcionar assim você precisaria ter um array de JButtons, algo mais ou menos assim:
Desse jeito fica fácil pra vc colocar em um for, como esta no seu codigo mesmo
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
int i;
JButton[] buttons = {jButton1, jButton2, jButton3, jButton4, jButton5};
for(i=2;i<=7;i++){
int jogadorA;
int naipeA;
jogadorA = redondo(Math.random()*13); // Retorna numero aleatório arredondado pelo método (redondo) retornando a carta de A e de B 7. naipeA = redondoNaipe(Math.random()*2);
buttons[i].setIcon(new javax.swing.ImageIcon("C:\Curso Java 1\Jogo baralho\cartasimg\"+jogadorA+"_"+naipeA+".JPG"));
}