Como fazer para uma variavel se tornar parte do código?
7 respostas
Z
Zumblick
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"));
}
Z
Zumblick
wag182, o que está dando problema para mim é a linha
jButton[i].setIcon(...
os nomes dos botões são jButton2, 3, 4 e assim por diante.
o que eu queria saber é se a variavel:
int i;
poderia ser usada para nomear os botões, já que isso é um loop.
Z
Zumblick
Está correto usar o [i] dentro de colchetes para este caso ?
cassio
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:
JButton[]buttons={jButton1,jButton2,jButton3};
para um array com 3 jButtons.
Você pode acessar cada um assim
buttons[0].setIcon(...);
aqui vc estaria setando o icone do jButton1.
Desse jeito fica fácil pra vc colocar em um for, como esta no seu codigo mesmo