当前位置: 首页 > 面试题库 >

在Javafx中下载时如何显示进度条

唐兴思
2023-03-14
问题内容

我正在使用javafx构建桌面应用程序,我正在使用ftp下载约500
MB的文件。下载进行时,我需要在进度条上显示%。我还需要提供一个取消正在进行的下载过程的选项。

这是我下载文件的代码。

        try {
            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
            success = ftpClient.changeWorkingDirectory(PATH + preset + "/" +  file_to_download + offset);
            System.out.println("Download Path:-" + PATH + preset + "/" +  file_to_download + offset);
            if (!success) {
                System.out.println("Could not changed the directory to RIBS");
                return;
            } else {
                System.out.println("Directory changed to RIBS");
            }
            FTPFile[] files = ftpClient.listFiles();
            for (FTPFile file : files) {
                if (file.getName().contains(".zip")) {
                    dfile = file.getName();
                }

            }
            DirectoryChooser dirChooser = new DirectoryChooser();
            File chosenDir = dirChooser.showDialog(tableView.getScene().getWindow());
            System.out.println(chosenDir.getAbsolutePath());
            OutputStream output;
            output = new FileOutputStream(chosenDir.getAbsolutePath() + "/" + dfile);
            int timeOut = 500;
            ftpClient.setConnectTimeout(timeOut);
            if (ftpClient.retrieveFile(dfile, output) == true) {
                downloadButton.setDisable(true);
            }
            output.close();

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

问题答案:

您应该使自己熟悉JavaFX中的并发性。

您可以在网上找到一些有关所需内容的示例,例如ProgressBar和Background
Processes



 类似资料:
  • 我使用下载管理器api下载大文件,我也实现了。但问题是,下载进度通知显示在状态栏中。但是我想用进度条在活动中显示通知。有人做过吗,如果有请帮帮我。

  • 问题内容: 我是android应用程序开发和学习的新手。 我已经开发了一个使用加载网站链接的应用程序。而且工作正常。 但是我在加载页面时显示和隐藏进度条时遇到了问题。 当WebView加载网站的主链接和内部链接时,我想显示一个进度条(仅在中心旋转),而在页面完全加载时,我要隐藏进度条。 我的Java代码: 还有我的布局XML代码: 现在,将显示进度条,但不会隐藏。 当我创建 进度条 对象并在Jav

  • 我正在将url加载到WebView中: 但是,上面的代码是不工作的。如果有任何想法,请帮助。提前谢了。

  • 问题内容: 我目前有一个班级,应该在下载文件时向我展示一个简单的表格。它正在工作,但是进度条没有更新,下载完成后我只能看到它。有人能帮我吗? 问题答案: 您的是经典的Swing并发问题。解决方案始终如一-在后台线程中运行长时间的代码,例如可以在SwingWorker中找到的代码。 例如,

  • 我的日志工作正常,而我的下载正在运行,显示“下载正在进行!”当它完成“下载完成!”,但同样的情况并没有发生在我的进程中,为什么?我真的需要一些帮助,其他的逻辑来做到这一点真的很感激

  • 我想要一个recyclerview,当第一个应用程序打开时,然后在创建时从服务器获取一些数据,当向上滚动时,会显示recyclerview下方的进度条,当向上滚动到服务器时再次点击URL,并在先前获取的数据下方获取更多数据。但我知道当我第二次点击URL时,它会刷新页面,并在第二次点击时只显示从服务器获取的数据,但我想要第一次和第二次点击的响应。 对不起,我说英语 以下是我的主要活动代码: }