|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
[Java] Popup visibile alla pressione di un tasto!
Salve io ho un JTextField, vorrei che al momento della pressione di un tasto, si potessero vedere (su una JList ad esempio) tutti i suggerimenti! (tipo Eclipse, che quando scrivo codice mi apre una JList con tutti i metodi applicabili a quell'ogetto).
La parte per riempira la JList ci sono riuscito, il proplema è ora impostare il popup in automatico senza dover premere il tasto destro del Mouse? 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. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
![]() xkè nn implementi un KeyListener ke alla pressione di un tasto qualsiasi non faccia passare un timeout (in un altro thread ovviamente...nn ci provare minimamente a farlo sullo stesso thread del dispatcher degli eventi della JVM ) e allo scadere di questo timeout ti visualizza la JList?
__________________
|
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Non è possibile farlo sull'evento?
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Up!
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
![]() devi catchare l'evento con un KeyEventListener e gestirlo come meglio credi (in questo caso aspettare un timeout e visualizzare il popup)....
__________________
|
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Ok, faccio partire un thread che funziona da timer!
Poi vorrei che quando l'utente clicchi sul suggerimento la mia JList sparisca! Per ora la Jlist mi rimane visibile fino a che non riclicco sul JTextField!
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
E Poi qual'è il metodo per far visualizzare il popup?
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Nessuno?
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
![]() ma leggere questi tutorial? http://java.sun.com/docs/books/tutor...nts/index.html Pensavo ke un'idea base sui listener ce l'avessi cmq x fare scomparire la jlist dopo ke hai cliccato su di lei basta aggiungere un altro EventListener (questa volta un MouseListener) e gestirlo opportunamente nel metodo mouseClicked() di cui dovrai fare l'override nel tuo listener
__________________
|
|
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Qualcosina ho risolto!!!
Per renderlo visibile, semplicemente faccio: popup.show(e.getComponent(), e.getX(), e.getY()); ove popup è la mia JList. e per disattivarlo: sul click dell'utente: popup.setVisible(false); Ora il problema è rendere la Jlist dinamica, cioè modificabile a seconda delle parole che l'utente inserisce nella JTextField! Qualche idea??? Grazie. |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
Forza che ormai dovresti avere capito il meccanismo Se non ho capito male vorresti che la tua lista visulaizzasse parole diverse a seconda del tasto che spingi una volta che è selezionata... esempio...spingi il tasto "M" e scorre la lista visualizzando nella prima riga la prima parola che inizia con la m e le altre di seguito. Per risolvere questo problema ovviamente ( Ad esempio, ogni volta che viene scritto un nuovo carattere nella JTextBox perfezionerazi la ricerca nella tua JList scorrendola a partire dalla parola giusta Forza ke ci 6 quasi
__________________
|
|
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Quello della Lista l'ho risolto utilizzando un treeset ed un sortedset!
Il problema è che quando visualizzo il popup si prende il focus quindi riesco a digitare solo il primo carattere e la lista mi compare subito, quindi non riesco più a scrivere sul jtextfield! |
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Nessuno può indicarmi la strada?!?!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:00.












) e allo scadere di questo timeout ti visualizza la JList?








