Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-06-2007, 11:00   #1
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
[JAVA] autocompletamento!!

salve a tutti.

Vorrei implementare l'autocompletamento dei nomi delle cartelle/file (tipo prompt, premendo tab)

siccome l'autocompletamento è da gestire su jtextfield sto procedendo così:

- al textfield ho agganciato un keylistener per il tasto tab!
- premuto tab prendo la sottostringa che ha come ultimo quello della posizione corrente del caret, come primo l'inizio della parola (insomma dalla posizione del caret, a ritroso fino alla prima occorrenza dello spazio (escluso))
questa substring dovrebbe essere il path su cui devo fare l'autocompletamento.

ora però nascono diversi problemi:

1) se nel path c'è un altro spazio sono fregato! (es: c:\documents and settings....che macello!)

2) se per sbaglio sono in un caso in cui funziona ed incomincio a premere tab switcho tra le cartelle/file, se ne seleziono uno però (cioè ripremo tab) e dopo cancello il testo non va più!

ce ne saranno altre mille di problemi...secondo me sto sbagliando approccio...avete consigli?

grazie
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2007, 12:11   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Io prenderei il testo dal primo carattere fino alla posizione corrente del carrello, poi separerei la parte completa del percorso da quella incompleta. Cioè se nel campo di testo c'è scritto:

c:\programmi\ja[carrello]quel che è

Prenderei la stringa

s = c:\programmi\ja

con

int last = s.lastIndexOf(File.separator)
dir = s.substring(0, last + 1)

ricavo la "base" del percorso, esamino il contenuto di quella cartella:

File[] files = new File(base).listFiles();

e con una semplice scansione lineare decido quale sia il candidato ideale. Per lo scorrimento circolare dei candidati si potrebbe usare la condizione "se base è uguale alla base precedente allora il candidato è quello successivo all'ultimo proposto". Per farlo è sufficiente un piccolo caching della base, della lista di file e dell'indice dell'ultimo candidato.

10 a 1 che ho frainteso il problema .
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2007, 14:59   #3
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
no non hai frainteso....

se ho capito bene la base del percorso devo comunque continuare a ricavarla dalle varie posizioni delle slash giusto???

c'è una piccola nota in più...

se il mio testo fosse: "notepad c:\programmi\java\release notes.txt" come la metto?? non si parte più dal primo carattere...
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2007, 15:25   #4
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Potresti leggere i nomi delle radici del filesystem, cercare quelle nella stringa e prendere l'indice della prima occorrenza come inizio del percorso.

Ottieni l'elenco di radici con il metodo statico File.listRoots().
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2007, 17:45   #5
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
sì così mi può andare bene...in effetti pensavo che alla pressione di tab senza aver inserito alcun percorso uscisse fuori la dir corrente...ma mi pare troppo ingarbugliato così!!
quindi seguo i tuoi consigli...grazie e ciao!
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
Meta brevetta occhiali che a cena ti chi...
Apple Pencil Pro scende a 109€ e version...
iPhone 17 Pro Max 512 GB: il top di gamm...
l modello di Apple Intelligence per la C...
SpaceX chiude l'acquisizione di Cursor: ...
Blink al prezzo più basso di sempre su A...
Il formato del Galaxy Z 8 Fold fa scuola...
ChatGPT registra clic e tasti sul Mac: g...
Ring Intercom: il citofono di casa diven...
LG e NVIDIA, robot umanoide bipede in ar...
Samsung prepara cuffie over-ear Galaxy p...
Le Fire TV Stick tornano in sconto e si ...
Il nuovo iPhone Ultra si farà attendere:...
POCO F9 Pro e F9 Ultra in arrivo in Euro...
Anthropic spiega come funziona il waterm...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:50.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v