Dunque, ho 2 menu di tipo Choice che ricevono le voci da 2 array; inizialmene solo il primo consente di visualizzare le voci, l'altro è vuoto, una volta scelta una voce però, in base alla voce scelta deve riempirsi l'altro.. Come posso fare?
Dunque, ho 2 menu di tipo Choice che ricevono le voci da 2 array; inizialmene solo il primo consente di visualizzare le voci, l'altro è vuoto, una volta scelta una voce però, in base alla voce scelta deve riempirsi l'altro.. Come posso fare?
Intendi dire il Choice di AWT (java.awt.Choice)??Originariamente inviato da raff5184
Dunque, ho 2 menu di tipo Choice che ricevono le voci da 2 array; inizialmene solo il primo consente di visualizzare le voci, l'altro è vuoto, una volta scelta una voce però, in base alla voce scelta deve riempirsi l'altro.. Come posso fare?
Implementi un ItemListener, quando ricevi notifica che un elemento è stato selezionato nel primo Choice allora imposti degli elementi nell'altro Choice.
P.S.: devi proprio usare AWT?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
sìOriginariamente inviato da andbin
Intendi dire il Choice di AWT (java.awt.Choice)??
Ok ma il problema è che il secondo Choice devo andarlo a modificare nel listener del primo e questo non è possibile.Originariamente inviato da andbin Implementi un ItemListener, quando ricevi notifica che un elemento è stato selezionato nel primo Choice allora imposti degli elementi nell'altro Choice.
Perché nel primo listenrer ho:
String s = ch1.getSelectedItem();
elabora s.. in base al risultato dell'eleborazione di s, riempi choice2 con i dati provenienti da un altro array.
oppure?Originariamente inviato da andbin P.S.: devi proprio usare AWT?
Per quale motivo non lo sarebbe??Originariamente inviato da raff5184
Ok ma il problema è che il secondo Choice devo andarlo a modificare nel listener del primo e questo non è possibile.
Ok, finita la elaborazione:Originariamente inviato da raff5184
Perché nel primo listenrer ho:
String s = ch1.getSelectedItem();
elabora s.. in base al risultato dell'eleborazione di s, riempi choice2 con i dati provenienti da un altro array.
choice2.removeAll();
choice2.add(.....);
....
Swing.Originariamente inviato da raff5184
oppure?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
scusa ma il choice2 deve essere definito nel listener non nella classe esterna,giusto?
E chi l'ha detto?? Li puoi benissimo istanziare entrambi all'inizio durante la inizializzazione della tua interfaccia, poi togli/aggiungi valori quando e dove vuoi.Originariamente inviato da raff5184
scusa ma il choice2 deve essere definito nel listener
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Ma in questo caso:
Choice ch2 = new Choice();
class ListenerCh1 implements ItemListener
{
public void actionPerformed(ActionEvent e)
{
String s = choice1.getSelectedItem();
in base a s arrayScelto = new Modello[]....
for (Modello m : arrayScelto)
ch2.add(m.getNome());
}
}
ecco in questo caso ho un errore che mi dice che non posso modificare ch2 nella classe interna ListenerCh1
Non mi è molto chiaro dove/come hai dichiarato le cose, non potendo vedere il codice completo. 'ch2' è una variabile locale o di istanza? E ListenerCh1 è una classe top-level o una inner-class?Originariamente inviato da raff5184
ecco in questo caso ho un errore che mi dice che non posso modificare ch2 nella classe interna ListenerCh1
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
ho risolto era necessaria l'istruzione choice2.removeAll(); prima di choice2.add()..
grazie ancora una volta
Originariamente inviato da andbin
Non mi è molto chiaro dove/come hai dichiarato le cose, non potendo vedere il codice completo. 'ch2' è una variabile locale o di istanza? E ListenerCh1 è una classe top-level o una inner-class?Codice PHP:public static void main(...)
{
riempi array1..
riempi array2...
riempi arrayn...
....
Choice ch1 = new Choice();
final Choice ch2 = new Choice();
class ListenerCh1 implements ItemListener //listener ch1
{
public.... actionPerformed(..){
elabora s... in base a s scegli un array di quelli riempiti sopra con cui riempire choice2
for (Object c : arrayK)
choice2.add(c) //QUI HO L'ERRORE
}
}
}