[RISOLTO] svuotare e ripopolare jComboBox

di il
7 risposte

[RISOLTO] svuotare e ripopolare jComboBox

Salve a tutti,
ho un problema nella mia applicazione, in pratica a seguito di una query popolo una comboBox con dei codici ID (es. 1-2-3 ecc). Poi premendo un pulsante voglio svuotarla e ripopolarla con il risultato di un'altra query. Per svuotarla ho tentato di utilizzare il metodo removeAllItems(), ma quando eseguo di nuovo la query per ripopolarla mi ritorna un errore di tipo NullPointerException..
sapreste aiutarmi ?
Grazie mille.

7 Risposte

  • Re: [RISOLTO] svuotare e ripopolare jComboBox

    First01 ha scritto:


    ma quando eseguo di nuovo la query per ripopolarla mi ritorna un errore di tipo NullPointerException..
    Senza vedere cosa hai fatto, non è ovviamente facile capire il problema.
  • Re: [RISOLTO] svuotare e ripopolare jComboBox

    Allora cerco di spiegarmi..nella mia gui ho un textField in cui inserisco un codice fiscale, che mi servirà come chiave di una query dalla quale devo ottenere una serie di ID Polizza riferite a quel codice fiscale, quindi a quel cliente.
    Quindi salvo questo codice fiscale ed eseguo la query :
    ris.cf = jTextFieldcCodfis.getText().toString();
           String [] res = ris.idPolizza();
    //ris è un oggetto della classe in cui ho la query

    Poi i risultati di questa query li voglio aggiungere alla comboBox quindi ho fatto questo:
    int i;
            for(i=0;i<res.length;i++)
            {
                jComboBoxPolizza.addItem(res[i]);
            }
    E fino qui funziona tutto, nel senso che alla comboBox vengono aggiunti i corretti ID polizza ottenuti dalla query. Adesso se io voglio fare un'altra query basata su un altro codice fiscale, non so come svuotare la comboBox e ripopolarla con i nuovi risultati della query..
  • Re: [RISOLTO] svuotare e ripopolare jComboBox

    First01 ha scritto:


    non so come svuotare la comboBox e ripopolarla con i nuovi risultati della query..
    removeAllItems() e poi quel addItem (per quanti elementi hai) esattamente come hai già fatto.
    Se hai NullPointerException o altri errori, è sicuramente per via di come hai gestito le variabili/passato oggetti, ecc.... magari un campo della classe è (ancora) null, o altro. Problemi del genere che non sono facilmente deducibili dal poco codice che hai postato.
  • Re: [RISOLTO] svuotare e ripopolare jComboBox

    Il metodo removeAllItems l'ho messo all'interno di un pulsante :
     private void jButtonCleanActionPerformed(java.awt.event.ActionEvent evt) {                                             
           
            jTextFieldCodfis.setText("");
            jComboBoxPolizza.removeAllItems();
    in cui svuoto il campo dove si inserisce il codice fiscale e rimuovo appunto questi elementi dalla combo.
    Però continuo ad avere l'errore..leggevo in alcune guide che prima di usare questo metodo remove è necessario rimuovere e poi ricreare l'action listener della combo ma non ci sono riuscito..
  • Re: [RISOLTO] svuotare e ripopolare jComboBox

    First01 ha scritto:


    Però continuo ad avere l'errore..
    Quando rimuovi tutti gli elementi dalla combo, effettivamente gli ActionListener per JComboBox vengono notificati automaticamente.
    E se lì nel listener hai preso ad esempio l'elemento selezionato ( getSelectedItem() ), allora è null.

    Semplicemente vuol dire che devi verificare il valore selezionato, non fare smanettamenti con le registrazioni dei listener.
  • Re: [RISOLTO] svuotare e ripopolare jComboBox

    Esatto nel listener faccio un'istruzione di questo genere :
    ris.idpolizza = jComboBoxPolizza.getSelectedItem().toString();
    quindi per evitare che trovi un valore null devo fare un controllo prima di eseguire quell'istruzione ?

    Grazie mille
  • Re: [RISOLTO] svuotare e ripopolare jComboBox

    Ok ho provato ad implementare il tuo consiglio ed ho risolto inserendo questo controllo :
    if(jComboBoxPolizza.getSelectedItem()!=null)
    Grazie mille
Devi accedere o registrarti per scrivere nel forum
7 risposte