|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jun 2007
Messaggi: 107
|
[Java] Richiamare una serie di jButton in ciclo for
Ho istanziato una matrice 3x3. Devo fare in modo di cambiare il Text di 9 jButton a seconda del valore presente nella corrispondente casella della matrice. I miei jButton si chiamano jButton1, jButton2, jButton 3 ecc fino a 9...il primo corrisponde al valore della 1^ riga, 1^ colonna della matrice, il secondo al valore valore della 1^ riga, 2^ colonna, il quarto 2^ riga, 1^ colonna.
Ad esempio se matrice[0][0]==1 devo fare jButton1.setText("X"), se 2 jButton1.setText("O"); se matrice[0][1]==1 jButton2.setText("X") ecc... L'idea era il classico doppio for: Codice:
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if (matr[i][j]==1){
jButton1.setText("X");
}
else {
if (matr[i][j]==2){
jButton1.setText("O");
}
}
}
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2003
Città: London
Messaggi: 5988
|
Non puoi usare un array di JButton? Cosi` facendo puoi richiamare ogni JButton con l'indice del for
__________________
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
O ancora meglio un'altra matrice 3x3, questa volta di JButton, no?
O ancora ancora meglio puoi "unire" un elemento della matrice con il JButton in una classe: quindi alla fine istanzierai una matrice di questi oggetti, che, al variare del valore automaticamente aggiornano il testo nel JButton stesso (mi pare che setText sia uno di quei pochi metodi di Swing a essere "thread safe"; cioè può essere invocato fuori dall'EDT senza problemi [e causa un repaint della grafica]).
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 08-03-2010 alle 15:02. |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Jun 2007
Messaggi: 107
|
Ci avevo pensato...come faccio a "unire" un elemento della matrice con il JButton in una classe? cmq la matrice int mi serve...quindi se la matrice diventa solo di jButton non va bene...a meno che.....mmm...c penso in tanto che mi rispondere
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2003
Città: London
Messaggi: 5988
|
E una classe tipo 'Casella' contenente un JButton e un valore int? Poi fai una matrice 3x3 di Casella
__________________
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Hai due opzioni:
Ereditarietà: Codice:
public class Casella extends JButton
{
private int valore;
...
}
Codice:
public class Casella
{
private int valore;
private JButton button;
...
}
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:14.



















