2016-07-28 15 views
1

我爲Dropbox創建了一個Maven NetBeans項目,我需要從Dropox調用文件夾中的文件並將它們顯示在界面上的JList中。將Dropbox文件加載到JList Maven Java NetBeans?

我能打印出來使用(System.out.println())輸出如下:

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); 
     } 
    } 

,我曾嘗試使用了文件加載到JList編碼類似於上面的編碼,我會正在使用DefaultListModel

這是我迄今爲止所做的編碼,但它沒有列出JList中的文件。

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); 
     } 
    } 

請可能有人請幫助我,幫助我的文件的文件名加載到JList

非常感謝

回答

0

我設法弄明白。

它需要工作的方式是元素的添加和模型的設置需要一個接一個地完成。在if語句之後放置set模型會導致模型被清除或變爲空。

因此,以下編碼將適用於JList中的文件列表。 請注意:從Dropbox連接和管理所需的其他編碼是在Dropbox開發者網站上。

編碼,該編碼的工作原理:

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); 
      } 
     } 

贊(給予好評或標記爲有幫助的),如果這個答案,我貼到我自己的問題可以幫助你爲好。