swing在执行的任务的时候,如何显示任务的进度条,我们来看看swing是如何实现的。
// 开始生成
public JProgressBar progressBar;//xml文件转换进度条
public JProgressBar imageprogressBar;//图片复制进度条
new SwingWorker<Long, Void>()//这个方法可以执行异步的线程,开启异步的线程
{
private int successed = 0;
private int failed = 0;
@Override
protected Long doInBackground() {//开始异步执行
buttonBeginStatus();//按钮置灰
addText("总计有:" + xmlFiles.size() + " 个文件需要转换.\r\n",0);
progressBar.setMaximum(xmlFiles.size());//以文件的个数作为进度条的长度
progressBar.setValue(0);//开始的时候设置进度条的值为0
statusLabel.setText(0+"/"+xmlFiles.size());
for (int i = 0; i < xmlFiles.size(); i++) {//看看要处理多少个文件
File srcXMLFile = xmlFiles.get(i);
copyImage(srcXMLFile);//先执行图片的复制
addText("正在生成[" + (i + 1) + "] -- " + srcXMLFile.getName() + "\r\n",0);
if(transformXML(srcXMLFile)){
progressBar.setValue(i+1);//每执行完一个进度条加1
statusLabel.setText((i+1)+"/"+xmlFiles.size());
addText("已完成[" + (i + 1) + "] -- " + srcXMLFile.getName() + " 的转换\r\n",0);
successed++;
}else{
String errorInfo="";
Set<String> strings=verifyD.failureInfo;
for (String string : strings) {
errorInfo+=string;
}
addText("出错:" + errorInfo + "\r\n",1);
addText("[" + (i + 1) + "] -- " + srcXMLFile.getName() + " 转换失败\r\n",1);
failed++;
}
}
return 0L;
}
@Override
protected void done() {//异步执行完成
addText("生成完成,成功数:"+successed+",失败数:"+failed+"\r\n",0);
buttonEndStatus();//按钮恢复
}
}.execute();
千万要注意,在执行的异步的时候,主线程不要再执行其他有关于异步用到的变量的操作,否则会造成线程不同步。如果非要执行,那么就在done方法里面执行吧!
相关推荐
本文将详细介绍如何使用Java语言创建一个简单的图形界面(GUI),并通过进度条来显示任务的执行进度。 #### 技术栈 本示例主要使用了Swing库中的组件,Swing是Java中的一个用于创建图形用户界面的工具包,提供了...
在Java编程中,多线程是一项关键特性,它允许程序同时执行多个任务,提升系统效率。在处理耗时操作如大文件下载、数据处理或网络请求时,展示进度条能够提供用户友好的交互体验,让使用者了解任务的完成状态。本主题...
线程是程序执行的最小单位,每个线程都有自己的程序计数器、虚拟机栈、本地方法栈和一部分堆内存。Java提供了两种创建线程的方式:继承Thread类和实现Runnable接口。在这个实例中,我们可能会选择实现Runnable接口,...
Java的命令行进度条JCmdLineProgress是一种在控制台或者终端显示进度的工具,它能够为执行时间较长的任务提供可视化反馈,使用户了解程序运行的状态。在开发命令行应用程序时,这种工具尤其有用,因为它可以帮助用户...
Java中的进度条是一种可视化元素,通常用于在执行耗时操作时提供用户反馈,让用户知道程序正在运行并估计剩余时间。本教程将深入讲解如何在Java中实现一个简单的进度条,这对初学者来说是一个很好的实践项目。 首先...
### Java开发页面进度条知识点详解 #### 一、概述 在Web应用开发中,为了提升用户体验,页面加载进度条已经成为了一种常见的UI组件。通过Java技术实现页面进度条不仅可以直观地展示页面或数据加载的过程,还能增强...
在Java编程中,创建一个带有进度条的文件拷贝程序是一项实用技能,尤其对于那些希望增强用户界面体验的开发者来说。下面将详细讲解这个“JAVA 带进度条的文件拷贝程序”的核心知识点。 首先,我们需要理解的是,...
在Java编程中,进度条(Progress Bar)是一种常见的用户界面元素,用于表示任务的执行进度。它可以增强用户体验,因为用户可以直观地看到程序执行的状态,尤其是处理耗时操作时。本资源包含三个不同版本的Java进度条...
1. **ProgressMonitor**:是 Swing 中的一个类,用于创建一个带有进度条的弹出窗口,可以用来显示任务的状态。它支持取消操作,即用户可以通过点击取消按钮来终止任务。 2. **Runnable**:是 Java 中定义的一种接口...
Java进度条是用户界面(UI)设计中常见的一种元素,用于提供给用户关于长时间运行任务的进度反馈。在Java编程中,我们可以使用Java Swing或JavaFX库来创建进度条。以下将详细介绍如何在Java中实现进度条功能,以及...
Java的命令行进度条是开发基于控制台的Java应用程序时常用的一种增强用户体验的工具。它在执行长时间运行的任务时,如文件传输、大型数据处理或系统扫描时,为用户提供可视化的进度反馈。JCmdLineProgress库就是为了...
总之,这个项目是一个完整的Java解决方案,用于处理Excel文件的导入导出,同时具备用户友好的进度条显示。它利用了Apache POI的强大功能,结合maven的依赖管理,以及可能的GUI组件,提供了高效且直观的数据操作体验...
在Java编程中,进度条(Progress Bar)是一种常见的...通过学习这个教程,你将能够熟练地创建和管理Java应用程序中的进度条,提升程序的交互性和用户体验。无论你是Java初学者还是经验丰富的开发者,都可以从中受益。
Java进度条程序是一种在用户界面中显示任务执行进度的图形元素,它有助于提供更好的用户体验,让用户知道后台进程的状态。在Java中实现进度条通常涉及到线程处理和GUI更新,这通常通过Swing或JavaFX库完成。在这个...
本篇将详细介绍如何利用`ProgressMonitorInputStream`来实现在Java Swing应用程序中显示进度条的功能。 #### Java中的进度条实现原理 在Java Swing库中,`ProgressMonitorInputStream`类为实现进度条功能提供了一...
### Java使用Ajax实现进度条详解 在Web应用开发过程中,为用户提供实时的文件上传或处理状态反馈至关重要。本文将详细探讨如何使用Java结合Ajax技术来实现实时的进度条显示功能,以提升用户体验。 #### 一、理解...
文件名“copyfile_progressbar”可能指的是示例代码或者是一个演示该功能的可执行程序。 总的来说,这篇博客提供了一个在Java Swing中实现文件拷贝和进度显示的方法,这对于任何需要在桌面应用中处理文件拷贝的...
在IT行业中,Java、JSP(JavaServer Pages)和Ajax(Asynchronous JavaScript and XML)是构建动态Web应用程序的重要技术。本项目"java,jsp,ajax进度条(jsp)"结合了这三种技术,旨在实现一个功能强大的进度条,...
Java下载进度条模块是用于在Java应用程序中展示文件下载进度的一种可视化组件,它通常与网络I/O操作结合,为用户提供实时的下载状态反馈。在这个NetBeans工程中,开发者可以找到如何构建这样一个功能的实例。 首先...
在Java编程中,实现监视任务进度条是一种常见需求,特别是在执行长时间运行的操作或者批量处理大量数据时,为用户提供实时进度反馈能显著提升用户体验。本文将深入探讨如何在Java中实现这样的功能。 首先,我们需要...