2016-07-28 30 views
1

Ich habe ein Maven NetBeans-Projekt für Dropbox erstellt und ich muss die Dateien in einem Ordner von Dropox aufrufen und sie in einer JList auf der Benutzeroberfläche anzeigen.Load Dropbox-Dateien in JList Maven Java NetBeans?

ich in der Lage bin, sie in der Ausgabe drucken mit (System.out.println()) folgenden:

public void GetFiles() 
    { 
     try 
     { 
      MainEmpOperations MEMPops = new MainEmpOperations(); 
      // Get files and folder metadata from Dropbox root directory 
      ListFolderResult result = client.files().listFolder("/Employees"); 
      while (true) { 
       for (Metadata metadata : result.getEntries()) { 
        System.out.println(metadata.getPathLower()); 
       } 
       if (!result.getHasMore()) { 
        break; 
       } 
       result = client.files().listFolderContinue(result.getCursor());     
      } 
     } 
     catch (Exception e) 
     { 
      JOptionPane.showMessageDialog(null, e); 
     } 
    } 

Die Codierung, die ich versucht hat, für das Laden der Dateien in die JList zu verwenden ist ähnlich die obige Codierung, wo ich will Verwenden Sie DefaultListModel.

Hier ist die Codierung, die ich bisher gemacht habe, aber es listet nicht die Dateien in der JList auf.

public void GetFiles() 
    { 
     try 
     { 
      MainEmpOperations MEMPops = new MainEmpOperations(); 
      // Get files and folder metadata from Dropbox root directory 
      ListFolderResult result = client.files().listFolder("/Employees"); 
      DefaultListModel modelListFiles = new DefaultListModel(); 
      while (true) { 
       for (Metadata metadata : result.getEntries()) { 
        modelListFiles.addElement(metadata.getPathLower()); 
       } 
       if (!result.getHasMore()) { 
        break; 
       } 
       result = client.files().listFolderContinue(result.getCursor());     
       MEMPops.List_CloudFiles.setModel(modelListFiles); 
      } 
     } 
     catch (Exception e) 
     { 
      JOptionPane.showMessageDialog(null, e); 
     } 
    } 

Bitte könnte jemand bitte helfen Sie mir, und mir helfen, in die JList die Dateien Namen der Datei zu laden.

Sehr geschätzt

Antwort

0

Ich schaffte es, es herauszufinden.

Die Art und Weise, wie es arbeiten muss, ist, dass das Hinzufügen des Elements und die Einstellung des Modells direkt hintereinander erfolgen müssen. Wenn das Mengenmodell nach der if-Anweisung platziert wird, wird das Modell gelöscht oder es wird leer.

Daher funktioniert die folgende Codierung für die Auflistung der Dateien in einer JList. BITTE BEACHTEN SIE: Der Rest der anderen Codierung für die Verbindung und Verwaltung von Dropbox ist auf Dropbox-Entwickler-Website.

CODING, das funktioniert:

public void GetFiles() 
     { 
      try 
      { 
       // Get files and folder metadata from Dropbox root directory 
       //please note the employees is a folder that is on dropbox 
       ListFolderResult result = client.files().listFolder("/Employees"); 
       DefaultListModel modelListFiles = new DefaultListModel(); 
       while (true) { 
        for (Metadata metadata : result.getEntries()) { 
         //get name just returns the name of the file and getPathLower() is used for getting the directory and the filename together. 
         modelListFiles.addElement(metadata.getName()); 
         List_CloudFiles.setModel(modelListFiles); 
        } 
        if (!result.getHasMore()) { 
         break; 
        } 
        result = client.files().listFolderContinue(result.getCursor());     
       } 
      } 
      catch (Exception e) 
      { 
       JOptionPane.showMessageDialog(null, e); 
      } 
     } 

gefällt mir (upvote oder als hilfreich markiert), wenn diese Antwort, die ich auf meine eigene Frage gepostet hilft Ihnen, wie gut.