Sei recidivo allora ...
Scherzo, ovviamente.
Il fatto del "che lui capisse di prenderle tutte" ovviamente devi farlo tu programmaticamente ... non c'è nulla di "magico" in questo.
Se hai una directory, puoi ottenere (con i metodi di File) tutte le entry della directory, eventualmente filtrate.
Concettualmente esattamente come quando da prompt fai es. dir C:\blabla oppure dir C:\blabla\*.png
Vedi documentazione dei list() e listFiles() di java.io.File.
Ok, scusa .... non me ne sono accorto subito prima io e avrei dovuto fermarti prima.
FileNameExtensionFilter estende javax.swing.filechooser.FileFilter che è un FileFilter che è specifico SOLO per l'uso con JFileChooser. La descrizione infatti viene usata e mostrata nel JFileChooser. Qui ha senso.
Per usare i "filtri" con i metodi di File devi usare
- un java.io.FileFilter
oppure
- un java.io.FilenameFilter
Come vedi questi sono specifici del package java.io. Questi due tipi sono delle interface e rappresentano solo il predicato "accetta un file oppure no". E non c'è alcuna descrizione ... non avrebbe senso.
In sostanza: NON puoi usare FileNameExtensionFilter. Devi per forza farti una tua implementazione di una di queste due interfacce.
Il punto è un altro. Se vuoi davvero tenere in memoria tantissime immagini, allora devi sapere come dimensionare il heap-space in modo adeguato. Se le devi tenere tutte in memoria non c'è molto che tenga ... hai bisogno del heap-space sufficiente per fare questo.
Ma la questione è, se vuoi fare una specie di "slide show", la domanda è semplice: devi per forza caricarle tutte in memoria?? La risposta in generale è NO. Puoi anche valutare una logica del tipo: carico la immagine necessaria in un certo momento, appena ne devo visualizzare un'altra la carico e l'altra la rendo non "raggiungibile", così che venga garbage collected.



Rispondi quotando