Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    456

    Esiste il value di JComboBox così come esiste nella SELECT html?

    Ciao,
    volevo sapere se esiste per l'oggetto JComboBox un elemento simile al value dell'oggetto SELECT che si usa nell'html.
    Se, per esempio, devo riempire una JComboBox con dei valori nel db, che hanno un indice numerico ed una stringa (che poi è quella che l'utente vede a video e seleziona), come faccio a inserire nell'oggetto JComboBox 2 valori per ogni 'riga'?

    Ho cercato sulla documentazione, ma non ho trovato niente che mi dica che si possa fare. Quindi mi viene il dubbio che non si possa fare!

    Dovrei fare una cosa del genere

    |263|cappello|
    |2634|cinta|
    |112|pantaloni|
    |32|scarpe|

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    JComboBox non ha questa funzionalità però se googli "jcombobox name value" (primi 4 risultati) trovi diverse soluzioni alternative. Ciao.

  3. #3
    crea una classe il cui costruttore prenda un integer e una stringa e nel metodo toString
    li ritorni concatenati. E poi passa al costruttore di JComboBox un array di oggetti di questo tipo.


    codice:
    public String toString(){
            
               return "|"+ intero + "|" + stringa + "|";
    }

  4. #4
    la cosa migliore è crearsi una classe wrapper personalizzata:
    codice:
    public class Author {
    
        public int id;
        public String name;
    
        public Author(String name) {
            this.name = name;
        }
    
        public Author(int id, String name) {
            this.id = id;
            this.name = name;
        }
    
        public int getId() {
            return id;
        }
    
        @Override
        public String toString() {
            return name;
        }
    
    }
    poi ti potresti creare un ArrayList<Author> che scorri e passi alla JCB.
    ad esempio lo creo da db:
    codice:
        public ArrayList<Author> fillAuthor() throws SQLException, ClassNotFoundException, IOException {
            ArrayList<Author> list = new ArrayList<Author>();
            conn = DBManager.getInstance().takeConnection();
            CallableStatement cstmt = conn.prepareCall("{ CALL getAuthor() }");
            ResultSet rs = cstmt.executeQuery();
            while (rs.next()) {
                list.add(new Author(rs.getInt("author_id"), rs.getString("author_name")));
            }
            cstmt.close();
            return list;
        }
    a questo punto in ogni voce della JCB hai le propriatà del rispettivo oggetto Author.

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.