Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    37

    ricerca in una jlist e sua modifica

    ciao a tutti!
    vi chiedo aiuto per risolvere il mio problema..
    ho una jlist popolata con una serie di nomi presi da un database e se clicco su un nome mi compaiono i dati della persona selezionata.
    ora vorrei implementare un "cerca" dove scrivo un nome,premo invio e la jlist mi fa vedere solo il nome da me richiesto e quelli che iniziano con la richiesta (es se scrivo ald usciranno aldo,alduccio ecc)
    il problema è:
    quando mi compaiono i nomi,la jlist non aggiorna i campi,ovvero se avevo in tabella aldo,mario e alduccio e scrivo ald mi compaiono aldo e alduccio ma se seleziono alduccio mi escono i dati di mario in quanto era lui il secondo..
    come posso aggiornare la jlist aggiornando anche il database?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    37
    nessuno?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    37
    codice:
    SearchableListModel listModel = new SearchableListModel(Database.nomi); //database.nomi è elenco dei nomi restituiti dalla query
    list = new JList(listModel);
    class EnterTextListener implements ActionListener { 
                public void actionPerformed(ActionEvent e) { 
                    
                    listModel.search(txtCerca.getText()); //chiamo serach con il nome o iniziali che desidero cercare
                }}

    altra classe..

    codice:
    class SearchableListModel extends AbstractListModel {
                private String[] strings;
                private ArrayList<String> resultList;
    
    
                public SearchableListModel(String[] strings) {
                    this.strings = strings;
                    resultList = new ArrayList<String>();
                    search(""); // search fittizio per setup iniziale
                }
    
    
                
    
    
                public Object getElementAt(int index) {
                    return resultList.get(index);
                    
                }
    
    
                public int getSize() {
                    return resultList.size();
                }
    
    
                public void search(String searchString) {
                    resultList.clear();
    
    
                    for (int i = 0; i < strings.length; i++) {
                        
                        
                        if (strings[i].startsWith(searchString)) {
                            resultList.add(strings[i]);
                        }
                    }
                    
                    fireContentsChanged(this, 0, resultList.size() - 1);
    
    
                }
        }
    please help me!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    37
    people????

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    37
    grazie a tutti per l'aiuto!!

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.