Newsgroup: it.comp.java
Titolo: non ci arrivo

per non fare cosě:
 /*  JButton pulsante0       = new JButton("0");
      JButton pulsante1       = new JButton("1");
      JButton pulsante2       = new JButton("2");
      JButton pulsante3       = new JButton("3");
      JButton pulsante4       = new JButton("4");
      JButton pulsante5       = new JButton("5");
      JButton pulsante6       = new JButton("6");
      JButton pulsante7       = new JButton("7");
      JButton pulsante8       = new JButton("8");
      JButton pulsante9       = new JButton("9");   */
vorrei usare un ciclo for:
              String[] p = new String[10] ;
                  for (int i=0;i<10;i++) {
                               p[i] = "pulsante" + i ;
                              JButton p[i] = new JButton() ;
                      }
ma mi da errore:
E:\java\calc1.java:81: ']' expected
JButton p[i] = new JButton() ;}
               ^
1 error
(la freccetta indica la i tra le quadre)
Perchč?????

                       }
Sostituisci con:
String[] p = new String[10] ;
for (int i=0;i<10;i++) {
   p[i] = "pulsante" + i ;
   JButton button = new JButton(p[i]);
}
Vedrai che la situazione migliora: infatti nella tua versione hai un 
errore di sintassi, infatti il compilatore cerca di dichiarare una 
variabile di nome "p[i]".
-- 
                 ''~``
                ( o o )
+---------.oooO--(_)--Oooo.----+
 
http://www.jroller.com/page/megadix/
 
http://www.mict.it/


:-(( purtoppo non va ancora, siccome in altre parti del programma uso
pulsante1 pulsante2 ecc non me li riconosce.
ho provato a sostituire button con pulsante
JButton pulsante = new JButton(p[i]);
ma niente.
grazie comunque, ma se hai la soluzione sarei curioso.

allora.............
secondo quello che ho capito io..........
tu vuoi creare 10 JButton e assegnargli delle etichette equivalenti alla
loro posizione...
correggimi se sbaglio.......
al posto di fare giri strani io penso che sia piu' opportuno utilizzare le
poche cose che abbiamo e che ci servono.
-i JButton, e la variabile contatore che può avere piu' funzioni utili.
i JButton li raggruppo in un array facilmente controllabile,
un array di jbutton;
e la variabile intera COUNT la uso come contatore del ciclo FOR, e
convertendola in stringa la uso come etichetta
da posizionare sul bottone.
altro consiglio.... non vedo opportuno chiamare 10 bottoni in modo
diverso...
carichi in memoria 10 istanze jbutton...ecc...
è piu' opportuno un array... sempre che ti vada bene al tuo scopo....
JButton[] button = new JButton[10];   // creo un array di JButton
for ( int count = 1; i < 10 ; i++ )   // dentro il ciclo li inizializzo e
come etichetta ci metto la stringa ricavata dal contatore
{
 button[i] = new JButton(ToString(i)) ;
}
però purtroppo non sono sicuro del metodo ToString........... non mi ricordo
bene come funziona OPS!   ;)
non so se il codice funzionante, non ho tempo di provarlo....
però come soluzione mi sembra elegante e si potrebbe ancora migliorare...
ciao ciao.


non so se sbagli :-)
devo costuire 10 pulsanti con le etichette da 0 a 9 e li
voglio chiamare pulsante0, pulsante1 ecc fino a 9.
JButton pulsante0       = new JButton("0");
JButton pulsante1       = new JButton("1");
ecc ecc.
fino qui facile per me, potrei fare cosě ( e l'ho fatto ma adesso vorrei
semplificare la stesura).
Ma siccome poi per ogni pulsante devo stabilirne il funzionamento,
l'associazione con la tastiera numerica e altre cose ripetitive,
tipo l'aggiunta al pannello vorrei crearli in automatico
con un ciclo for per rendere il tutto piů compatto.

 ha scritto nel messaggio
news:c4bu1d$sao$1...@lacerta.tiscalinet.it...

Non va perchč molto probabilmente i nomi di variabili devono essere
"oggetti" statici, perchč devono essere letti in fase di compilazione e non
a runtime. Ma non sono sciurissimo.

 ha scritto nel messaggio
news:c4c0fe$ure$1...@lacerta.tiscalinet.it...

Se vuoi associare dei controlli ad ogni singolo JButton di un array puoi
farlo es: JButton[i].metodo(); oppure singolarmente JButton[3].metodo();
io ti consiglio di utilizzare un array di JButton( ), cosě eviti di scrivere
molto codice doppione
te la cavi con dei cicletti piccoli piccoli.
ciao.

 Vedrai che la situazione migliora: 
Certo, così compila ma non è quello che vuole fare lui. E quello che vuole
fare lui semplicemente non si puo' fare ;)
I nomi delle variabili non sono stringhe che possono essere modificate a
runtime.
Quindi, i bottoni possono essere gestiti con un array rinunciando ad avere
10 JButton che si chiamano pulsante0 ... pulsante9.
Ogni bottone sarà richiamato con array[i] piuttosto che con il nome di
variabile pulsantei.
Il codice è qualcosa del genere:
JButton[] bottoni = new JButton[10];
for(int i=0; i<bottoni.lenght; i++) {
  bottoni[i] = new JButton(Integer.toString(i));
}
e l'i-esimo bottone è utilizzato con bottoni[i].
Di meglio non si puo' fare (e secondo me, una volta capito che non c'é
differenza tra pulsantei e bottoni[i] è esattamente quello che voleva :)
Ciao
Matteo
-- 
chi sono e soprattutto chi non sono:
http://www.ilnomedeldominio.it
un piccolo programma per studenti universitari:
http://inutility.ilnomedeldominio.it