【问题标题】:Load Dropbox files into JList Maven Java NetBeans?将 Dropbox 文件加载到 JList Maven Java NetBeans 中?
【发布时间】:2016-07-28 10:40:00
【问题描述】:

我已经为 Dropbox 创建了一个 Maven NetBeans 项目,我需要从 Dropox 调用文件夹中的文件并将它们显示在界面上的 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

非常感谢

【问题讨论】:

    标签: java maven netbeans dropbox-api jlist


    【解决方案1】:

    我设法弄明白了。

    它需要工作的方式是元素的添加和模型的设置需要彼此直接完成。将集合模型放在 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);
                }
            }
    

    如果我在自己的问题上发布的这个答案也对您有所帮助,请点赞(点赞或标记为有帮助)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-31
      • 2013-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多