Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216

    [Java] doppio menu Choice

    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?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [Java] doppio menu 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?
    Intendi dire il Choice di AWT (java.awt.Choice)??
    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.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216

    Re: Re: [Java] doppio menu Choice

    Originariamente inviato da andbin
    Intendi dire il Choice di AWT (java.awt.Choice)??


    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.
    Ok ma il problema è che il secondo Choice devo andarlo a modificare nel listener del primo e questo non è possibile.
    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.


    Originariamente inviato da andbin P.S.: devi proprio usare AWT?
    oppure?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: [Java] doppio menu Choice

    Originariamente inviato da raff5184
    Ok ma il problema è che il secondo Choice devo andarlo a modificare nel listener del primo e questo non è possibile.
    Per quale motivo non lo sarebbe??

    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.
    Ok, finita la elaborazione:
    choice2.removeAll();
    choice2.add(.....);
    ....

    Originariamente inviato da raff5184
    oppure?
    Swing.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216
    scusa ma il choice2 deve essere definito nel listener non nella classe esterna,giusto?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da raff5184
    scusa ma il choice2 deve essere definito nel listener
    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.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216
    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

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da raff5184
    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?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216
    ho risolto era necessaria l'istruzione choice2.removeAll(); prima di choice2.add()..

    grazie ancora una volta

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216
    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

           
    }
         }


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.