webForumDet fria alternativet

Listning av kataloger -> Choice

10 svar · 623 visningar · startad av lillsture

lillstureMedlem sedan dec. 200217 inlägg
#1

Så, jag har följande kod som så fint listar katalogerna:

public File[] listDir(){
   File dir = new File(System.getProperty("user.dir"));
   File[] files = dir.listFiles();

   FileFilter fileFilter = new FileFilter() {
      public boolean accept(File file) {
         return file.isDirectory();
      }
   };
   files = dir.listFiles(fileFilter);
   return files;
}

Detta vill jag nu lägga upp som val i en lista (choice?) men hur lyckas jag?

thojo280Medlem sedan dec. 200461 inlägg
#2

Hej,

Hmm. Vad för typ av lista? En ArrayList, swingkomponent eller är det för webben?

lillstureMedlem sedan dec. 200217 inlägg
#3

Ahh.. sorry, swingkomponent är tanken.

thojo280Medlem sedan dec. 200461 inlägg
#4

JList dList = new JList(listDir());

public String[] listDir(){
   File dir = new File(System.getProperty("user.dir"));
   File[] files = dir.listFiles();

   FileFilter fileFilter = new FileFilter() {
      public boolean accept(File file) {
         return file.isDirectory();
      }
   };
   files = dir.listFiles(fileFilter);
  
String filesAsString [] = new String[files.length]

for(int i=0;i<filesAsString.length;i++)
filesAsString[i] = files[i].f.getCanonicalPath() ;

   return filesAsString;
}
LimeMedlem sedan sep. 2001961 inlägg
#5

JFileChooser

Fast jag skulle nog använda mig av JFileChooser istället...

JFileChooser chooser = new JFileChooser(System.getProperty("user.dir"));
    chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    int returnVal = chooser.showOpenDialog(parent);
    if(returnVal == JFileChooser.APPROVE_OPTION) {
       System.out.println("You chose to open this file: " +
            chooser.getSelectedFile().getName());
    }

Se http://java.sun.com/docs/books/tutorial/uiswing/components/filechooser.html för mer ingående hjälp.

Varför göra om något som redan finns.

lillstureMedlem sedan dec. 200217 inlägg
#6

Mjo, det skulle ju förvisso också gå men jag hade tänkt kunna uppdatera listan med jämna mellanrum för att kunna se om det skapas nya kataloger. Med JFileChooser måste man ju då öppna ett nytt fönster för detta?

lunaMedlem sedan juli 2004181 inlägg
#7

lillsture skrev:

Mjo, det skulle ju förvisso också gå men jag hade tänkt kunna uppdatera listan med jämna mellanrum för att kunna se om det skapas nya kataloger. Med JFileChooser måste man ju då öppna ett nytt fönster för detta?

Om det nu är så, så skulle du kunna göra egen klass som ärver JFileChooser och fixar till den funktionaliteten.

LimeMedlem sedan sep. 2001961 inlägg
#8

lillsture skrev:

Mjo, det skulle ju förvisso också gå men jag hade tänkt kunna uppdatera listan med jämna mellanrum för att kunna se om det skapas nya kataloger. Med JFileChooser måste man ju då öppna ett nytt fönster för detta?

Jo, det stämmer, och JFileChooser är gjord så att den är modal. Det går säkert att gå runt det på något sätt.

Du kan alltid göra din egen komponent som visar filerna. Kolla på t.ex
http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/File-Browser.htm

Du skulle också kunna kika lite på http://jakarta.apache.org/commons/vfs/

Själv gör jag numera alla klientapplikationer innanför Eclipse-skalet och de har en riktigt bra Fil-vy.

CompusaMedlem sedan jan. 20023 327 inlägg
#9

Lime skrev:

Själv gör jag numera alla klientapplikationer innanför Eclipse-skalet och de har en riktigt bra Fil-vy.

Skulle också vilja det, lyckas aldrig skapa en körbar jar-fil dock :(

LimeMedlem sedan sep. 2001961 inlägg
#10

Compusa skrev:

Skulle också vilja det, lyckas aldrig skapa en körbar jar-fil dock :(

Va? Hur kan du inte lyckas med det?? Om du gör en plugin så packar den ju ner sig själv om du ber den. Sedan är det bara att ladda in den i Eclipse eller Equinox.

CompusaMedlem sedan jan. 20023 327 inlägg
#11

Det var nog jag som inte var helt vaken när jag skrev mitt inlägg igår. Det jag inte kan få att fungera är att göra en körbar jar-fil med SWT. Missförstod nog ditt inlägg en aning ;)

138 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)