Visualizzazione dei risultati da 1 a 5 su 5

Discussione: JComboBox editabile

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    53

    JComboBox editabile

    salve
    il mio scopo è quello di avere un JComboBox editabile in cui l'utente cerca un nome nel database tramite la query SELECT (e su questo nessun problema).....qui è il problema poi vorrei inserire tutti i nomi trovati nel menu a discesa (solo nel menu non nella parte editabile) e che lo stesso sia aperto direttamente senza premere la freccetta giù
    grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da rrt Visualizza il messaggio
    qui è il problema poi vorrei inserire tutti i nomi trovati nel menu a discesa (solo nel menu non nella parte editabile) e che lo stesso sia aperto direttamente senza premere la freccetta giù
    Quindi i dubbi specifici a livello tecnico quali sono?
    a) Per rendere "editabile" (di default non lo è) un JComboBox si usa setEditable(true)
    b) JComboBox ha addItem, se il model sottostante è "mutabile", puoi aggiungere elementi.
    c) Per rendere visibile "programmaticamente" la lista drop-down c'è setPopupVisible
    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
    Oct 2013
    Messaggi
    53
    ciao andbin
    grazie mille e il secondo problema l'ho risolto tramite il tuo punto c.....
    praticamente tramite la query select ottengo un vettore con tutti i nomi trovati e vorrei aggiungere questo vettore nel menu a discesa del comboBox, ho provato ad aggiungere gli elementi tramite un for in questo modo comboBox.addItem(vettore.get(indice)); così aggiunge gli elementi desiderati però mi compare il primo elemento anche nella parte editabile e vorrei evitarlo
    Ultima modifica di rrt; 17-05-2015 a 17:03

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da rrt Visualizza il messaggio
    ho provato ad aggiungere gli elementi tramite un for in questo modo comboBox.addItem(vettore.get(indice)); così aggiunge gli elementi desiderati però mi compare il primo elemento anche nella parte editabile e vorrei evitarlo
    Il model standard di Swing per JComboBox, che è DefaultComboBoxModel, ha un comportamento particolare ma logico/sensato che però causa il comportamento che hai detto: se l'elemento aggiunto è il primo E non c'è un elemento selezionato, allora seleziona quello.

    Non mi sembra sufficiente estendere DefaultComboBoxModel, il addElement lo potresti ridefinire ma il Vector e il Object dell'oggetto selezionato sono package level, quindi non li vedresti.
    Credo ti convenga definire un tuo combo box model.

    P.S. dai anche (è sempre utile in generale) una sbirciatina ai sorgenti del framework. Se hai un JDK installato, nella home di installazione dovresti avere un src.zip
    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
    Oct 2013
    Messaggi
    53
    Ciao andbin ti ringrazio per l'aiuto comunque ho risolto semplicemente utilizzando il metodo setSelectedItem(elementoDigitato);
    in questo modo nel JComboBox rimane la parola digitata dall'utente

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.