|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
[Java] JTextField Inserimento Particolare
Salve,
Il mio problema oggi consiste nell'implementare un JTextField con autocompletamento! Cioè, mi spiego meglio: nel mio JTextField comincio a scrivere e (come fà ad esempio Eclipse) sotto mi compaiono tutte le possibili voci che posso scegliere! Si Può Fare? Qualcuno sà darmi qualche consiglio? Grazie! Andrea |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Ma sul JComboBox devo premere il tastino?
Io non voglio che si debba premere il tasto! Comincio a scrivere e sotto mi compaia un elenco di suggerimenti. Ho detto autocompletamento, ma non intendevo quello scusatemi
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Devi ovviamente tenere da qualche parte una "collezione" di stringhe. Il problema semmai è come fare una ricerca "parziale".
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Come si reiposta una lista! (JList???) Mai utilizzata!
I Dati ce li ho su DB, dici di leggere tutte le possibilità e di mettermele in memoria in una struttura ad hoc? Grazie per la tua disponibilità! |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Iniziamo dalla ricerca, credo che possa andare bene un TreeSet. Ecco un esempio di ricerca. Codice:
TreeSet<String> ts = new TreeSet<String> ();
ts.add ("pala");
ts.add ("pipa");
ts.add ("pippo");
ts.add ("pizza");
ts.add ("pluto");
String cerca = "pip";
int l = cerca.length ();
String cercaEnd = cerca.substring (0, l-1) + (char) (cerca.charAt (l-1)+1);
SortedSet<String> ss = ts.subSet (cerca, cercaEnd);
Iterator<String> it = ss.iterator ();
while (it.hasNext ())
{
String s = it.next ();
System.out.println ("Trovato: " + s);
}
EDIT: ho modificato il codice per usare subSet() invece di tailSet(), così è più efficiente.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) Ultima modifica di andbin : 13-12-2006 alle 12:24. |
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Ok!
Ci sono! |
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Poi?
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Sono "quasi" riuscito a fare una combo-box come chiedi. Ho solamente ancora 2 problemini: la lettura del campo di testo e il fatto che quando apro la lista drop-down il primo elemento viene selezionato e quindi mi sovrascrive il testo nel campo di edit.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Scusa, non volevo metterti fretta!
|
|
|
|
|
|
#11 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Crea Problemi se il mio JTextField è un TableCellEditor???
Cioè l'editor associato ad una cella di una JTable!!! |
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Ci sono quasi!!!
Tu mi dicevi di utilizzare il metodo setPopupVisible(). Ma quello è un metodo della classe MultiComboBox, io ti ricordo che ho un JTextField! Io ho la mia Jlist installata su un JScrollPane, questa l'ho definita come JPopUpMenu!! Il problema è che la visualizzo solo se clicco sul tasto dx del mouse! C'è un modo per farla comparire automaticamente??? Grazie Ancora. |
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Up!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:35.



















