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

我正在使用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。

以上是 在Javafx中下载时如何显示进度条 的全部内容, 来源链接: utcz.com/qa/417843.html

回到顶部