Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    riempimento combobox annidate

    Per caso qualcuno sa come riempire una combobox in base alla selezione che effettuo su un'altra combobox?
    esempio:
    ho una combo in cui seleziono le regioni. Selezionata una regione, l'altra combo automaticamente si popolerà con i comuni di quella regione.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    associa alla combobox1 un itemchangedlistener (o simile non ricordo il nome a memoria perdona, guarda le api che ci sono anche esempi) e nella relativa action vai a reperire i dati con i quali inizializzi il combobox2

  3. #3
    si chiama SelectionListener..ma il problema è un altro:

    ti do la sequanza di azioni:

    1 CREO LA COMBOBOX 1
    2 CREO LA COMBOBOX 2
    3 POPOLO PA COMBOBOX 1
    4 ASSOCIO ALLA COMBOBOX 1 UN ASCOLTATORE DI TIPO SELECTIONLISTENER
    5 All'ascoltatore è associata la seguente azione:
    - PRENDO L'ELEMENTO SELEZIONATO
    - TRAMITE UNA FUNZIONE CHE PRENDE IN INPUT UN ARRAYLIST E L'ELEMENTO
    SELEZIONATO, RITORNO UN ARRAY DI STRING CONTENENTE GLI ELEMENTI
    SELEZIONATI DALL'ARRAYLIST
    6 POPOLO LA COMBOBOX 2 CON L'ARRAY DI STRING RITORNATO.

    Casomai ti posto il codice..

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    cosa non va? quello che ti ho detto io l'ho implementato diverse volte.
    Posta il codice e l'errore

  5. #5
    problema risolto: praticamente anche se la dimensione dell'array di stringhe la definivo all'interno dell'action, la combo andava in exception perche non riusciva a settare l'array di stringhe.
    Soluzione: un bel JPanel, monto tutto li' e lo carico in ActionEvent: stilisticamente parlando è una soluzione alquanto grezza ma...funzionante!

  6. #6
    come non detto: la seconda combo carica gli elementi solo della prima selezione.
    esempio: ho una combo con la lista degli hotel, e un'altra con le stanze associate ad un'altro hotel.
    quando effettuo la selezione dell'hotel per la prima volta, la seconda combo si popola con le stanze di quell'hotel..e fin qui tutto bene.
    quando effettuo selezioni successive, la combo non si "ripopola" piu! ma rimangono i valori relativi alla prima selezione.
    Puo essere che il problema sta nel fatto che la comboBox viene popolata mediante Array di Stringhe?
    Casomai la mia combo la posso popolare mediante Vector o ArrayList?

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    posta il codice perché ti ripeto io una roba del genere l'ho fatta e funzionava


  8. #8
    Alla fine ho risolto..ho utilizzato un DefaultComboBoxModel e ad ogni selezione effettuavo un removeAllElements()...

    Comunque casomai avrò altri problemi saprò a chi rivolgermi.
    Grazie x l'aiuto..

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    anche se non ho capito quale era il tuo problema ok.
    La prossima volta posta il codice, perché altrimenti si va ad intuito.
    Se il problema è che è codice proprietario, puoi fare una cosa: crea una classe di test in cui metti solo le due operazioni in esame (soprattutto metti dati fasulli, non passi per db ecc), in modo da rendere ogni discussione costruttiva.
    Qui mi sa che tu te la sei cantata e suonata tutto solo, a sto punto che senso ha aprire una discussione??

  10. #10
    Si hai ragione...io stavo per postarlo il codice, ma prima di farlo ho smanettato un po e il problema sono riuscito a risolverlo ugualmente.
    mi scuso per il modus operandi...cercherò di stare piu attento in futuro, ma se ho aperto una discussione è perche avevo bisogno d'aiuto...non pensavo riuscissi a risolvere il problema da solo tutto qui...scusa ancora valia.

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.