将Dropbox文件加载到JList Maven Java NetBeans中



我已经为Dropbox创建了一个Maven NetBeans项目,我需要从Dropbox调用文件夹中的文件,并在界面上的JList中显示它们。

我可以使用(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中。

非常感谢

我设法弄明白了。

它需要的工作方式是,元素的添加和模型的设置需要一个接一个地完成。将set模型放在if语句之后会导致该模型被清除或变为空。

因此,以下编码将适用于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);
            }
        }

比如(投赞成票或标记为有帮助),如果我在自己的问题上发布的这个答案也能帮助你。

相关内容

  • 没有找到相关文章

最新更新