Forum » Programiranje » [Java]Listanje slikovnih datotek v izbranem direktoriju
[Java]Listanje slikovnih datotek v izbranem direktoriju
KernelPanic ::
Spostovani!
Imam sledec code chunck:
Lp,
Marko
Imam sledec code chunck:
JFileChooser dc=new JFileChooser(); int iIndex=0; this.setData(new Vector<CRecordStudent>()); dc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); if(dc.showDialog(null, "Select folder")==JFileChooser.APPROVE_OPTION) { String path=dc.getCurrentDirectory().getAbsolutePath(); File directory=new File(path+"\\data"); // HEAVY BUG: Why I do not get selected directory, but its parent? File[] fl=directory.listFiles(); for(File f : fl) { if(f.getName().toLowerCase().endsWith(".jpg") || f.getName().toLowerCase().endsWith(".png") || f.getName().toLowerCase().endsWith(".bmp")) { this.data().add(new CRecordStudent(iIndex, String.valueOf(CDefaults.AUTHOR_STUDENT_ID), CDefaults.AUTHOR_SURNAME, CDefaults.AUTHOR_NAME, f.getAbsolutePath())); iIndex++; } }Torej, ta koda poklice JFileChooser v rezimu za izbiranje direktorijev. Znotrja tega JFileChooserja izberem direktorij, kjer se nahajajo slike in nato preostali del kode prebere imena slik in pac naredi objekte z temi slikami. Do tu je vse ok. Vendar sem naletel na sledec problem: Ko izberem direktorij in pritisnem gumb "Select Folder", mi ne izbere selektiranega direktorija, ampak njegoveva "oceta", t.i. folderja, ki je nad njim. Vrstica, kjer se to zgodi, je tudi komentirana z "HEAVY BUG" in vidite, da hardkodirano dodam podstring "\\data". Zakaj ob potrditvi izbire ne dobim izbranega diretkorija (njegovi poti), ampak pot njegovega "starsa"?
Lp,
Marko
Mavrik ::
Ja, na katerem OSu pa si? Pa zakaj ne uporabiš konstruktorja "new File(path, "data")"?
The truth is rarely pure and never simple.
KernelPanic ::
Sem na gnidovsih 7 Ultimate (prisiljeno, zahteva nadrejenega), ampak stvar mora delati tudi v Ubuntuju! Aja, pa zato, ker tale "data", ki sem ga dodal, mora iti stran v kodi! In ne vem zakaj mi ne vrne izbranega direktorija, ampak enega nad njim!
Zgodovina sprememb…
- spremenil: KernelPanic ()
KernelPanic ::
Ups, slamparija na delu. Namesto getCurrentDirectory() mora biti uporabljena funkcija getSelectedFile()! ... It's all in the docs ... :D Stvar dela sedaj! Hvala vsem!
Mavrik ::
No daj uporabi drug konstruktor. Saj to, da imata Ubuntu in Windows druge separatorje za pot in da "\\data" ne bo delalo na obeh veš a ne?
The truth is rarely pure and never simple.
KernelPanic ::
No daj uporabi drug konstruktor. Saj to, da imata Ubuntu in Windows druge separatorje za pot in da "\\data" ne bo delalo na obeh veš a ne?Ja ja, tisto "\\data" sem itak odstranil, bilo je namenjeno samo testiranju! Sedaj dela lepo. Koda:
JFileChooser dc=new JFileChooser(); int iIndex=0; this.setData(new Vector<CRecordStudent>()); dc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); if(dc.showDialog(null, "Select folder")==JFileChooser.APPROVE_OPTION) { File directory=new File(dc.getSelectedFile().getAbsolutePath()); File[] fl=directory.listFiles(); for(File f : fl) { if(f.getName().toLowerCase().endsWith(".jpg") || f.getName().toLowerCase().endsWith(".png")) { this.data().add(new CRecordStudent(iIndex, String.valueOf(CDefaults.AUTHOR_STUDENT_ID), CDefaults.AUTHOR_SURNAME, CDefaults.AUTHOR_NAME, f.getAbsolutePath())); iIndex++; } } }
KernelPanic ::
Ok, se eno vprasanje: Ima kdo idejo, kako naj se lotim sledecega problema:
V JFileChooserju bi rad onemogocil "Cancel" gumb ter gumbek "X" (ki zapre okno, na vseh windows platformah naprimer). Torej, kako naj skrijem omenjena kontrolnika?
Lp,
Marko
V JFileChooserju bi rad onemogocil "Cancel" gumb ter gumbek "X" (ki zapre okno, na vseh windows platformah naprimer). Torej, kako naj skrijem omenjena kontrolnika?
Lp,
Marko
usoban ::
Za cancel gumb mogoce tole: http://docs.oracle.com/javase/7/docs/ap...
Zgodovina sprememb…
- spremenil: usoban ()
KernelPanic ::
Hvala, vendar tole sem ze probal, problem je, da z tem pristopom onemogocis tudi gumb za potrditev. Sedaj gledam, kako naj se dinamicno (ko je JFileChooser objekt ze kreiran) "sprehodim" po komponentah (member component), in poiscem zeljeni gumb.
illion ::
v starih časih ko sm delal z javo, sem, če se prav spomnim, moral pri file chooserju narest image preview če si kliknil na sliko. Za ne-default funkcionalnosti je bilo treba extendad class, drugač pa lahko pogledaš tole; najd view z buttnom in ga skrij, če ne gre drugače:
http://stackoverflow.com/questions/1406...
http://stackoverflow.com/questions/1406...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [JAVA] Izpis imen vseh datotek iz direktorija in poddirektorijevOddelek: Programiranje | 4929 (2958) | Slovenet |
» | Kontakt obrazecOddelek: Izdelava spletišč | 2061 (1906) | betmen |
» | [android] vstavljanje slikeOddelek: Programiranje | 1239 (1136) | messi |
» | [PHP]Zajem slike iz direktorijaOddelek: Programiranje | 1230 (1147) | KernelPanic |
» | [Netbeans-Java]Embossing,blurring,sharpeningOddelek: Programiranje | 1134 (1036) | t3hn0 |