Java 制作进度条
java开发项目组进度安排表v03版本.xls
需求V0.3版
周四19:30-21:30
第一周 2:和学校进行协商
3: 周五12:00
5-10__5-16 安排技术指导
4:安 周日
排职业素养培训(王经理)
5:安排
学习String类,Collection接口
第二周 5-17__5-23
1:一次技术指导 2:例会 3:学习GUI图形用户界面编程
周一19:30-21:30 周三19:30-21:30 周四19:30-21:00 周五12:00
周三19:30-21:30
周四19:30-21:30
第三周 5-24__5-30
1:技术指导 2:数据库基础知识及JDBC的学习巩固GUI编 程
周五12:00
第四周 5-31__6-6
1:技术指导 2:巩固以前所学的技术 3:集中编码
周三19:30-21:30 周四19:30-21:30 周五12:00
完成情况
阶段
荔永苍、冉晓晨、巩祥 荔永苍、冉晓晨、巩祥 冉晓晨 荔永苍、冉晓晨、巩祥
巩祥 荔永苍 荔永苍、冉晓晨、巩祥 冉晓晨
荔永苍、冉晓晨、巩祥 荔永苍、冉晓晨、巩祥 冉晓晨
存在问题
荔永苍、冉晓晨、巩祥 荔永苍、冉晓晨、巩祥 冉晓晨
解决方案
荔永苍、冉晓晨、巩祥 荔永苍、冉晓晨、巩祥 冉晓晨 荔永苍、冉晓晨、巩祥
技术指导 分散技术指导 提交本周学习及工作总结和下周学习及工作计划表
技术指导 分散技术指导 提交本周学习及工作总结和下周学习、工作计划表及项目总结文档 项目总结
项目完善 提交本周学习及工作总结和下周学习、工作计划表及学习笔记
第三阶段
工作时间安排表 阶段
负责人
荔永苍、冉晓晨、巩祥 荔永苍、冉晓晨、巩祥 荔永苍、冉晓晨、巩祥 荔永苍、冉晓晨、巩祥 荔永苍、冉晓晨 荔永苍、冉晓晨、巩祥 巩祥 荔永苍 荔永苍、冉晓晨、巩祥 荔永苍 冉晓晨 荔永苍、冉晓晨、巩祥 荔永苍、冉晓晨、巩祥 冉晓晨 荔永苍 荔永苍、冉晓晨、巩祥 巩祥 冉晓晨 荔永苍、冉晓晨、巩祥 冉晓晨
java实现进度条
import java.awt.BorderLayout;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;/*** 进度条窗体界面设计* @author dell**/public class ProgressFrame extends JFrame {JPanel panel1;JButton button1;GridBagConstraints gridBagConstraints1;ProgressPane progresspane;public ProgressFrame() {super();setTitle("进度条");setBounds(100, 100, 500, 120);setLayout(new BorderLayout());printFrame();this.setVisible(true);this.setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }public void printFrame(){progresspane = new ProgressPane();button1 = new JButton("隐藏");panel1 = new JPanel();panel1.setLayout(new GridBagLayout());gridBagConstraints1 = new GridBagConstraints(); gridBagConstraints1.gridy = 0;gridBagConstraints1.gridx = 0;panel1.add(button1, gridBagConstraints1);getContentPane().add(panel1, BorderLayout.CENTER);getContentPane().add(progresspane, BorderLayout.NORTH);// 事件监听button1.addActionListener(new ActionListener() {public void actionPerformed(final ActionEvent e) {hide();}});}}import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Insets;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JProgressBar;/*** Java进度条* @author dell**/public class ProgressPane extends JPanel{public JLabel label;public JProgressBar progressBar;public ProgressPane() {super();setLayout(new GridBagLayout());setSize(394, 33);progressBar = new JProgressBar(0,100);progressBar.setStringPainted(true);final GridBagConstraints gridBagConstraints = new GridBagConstraints();gridBagConstraints.weightx = 1.0;gridBagConstraints.ipady = 1; //进度条的宽度gridBagConstraints.fill = GridBagConstraints.BOTH;gridBagConstraints.weighty = 1.0;gridBagConstraints.gridx = 0;gridBagConstraints.gridy = 0;gridBagConstraints.ipadx = 75;gridBagConstraints.insets = new Insets(4, 0, 0, 0);add(progressBar, gridBagConstraints);label = new JLabel();final GridBagConstraints gridBagConstraints_1 = new GridBagConstraints();add(label, gridBagConstraints_1);label.setText("进度显示");gridBagConstraints_1.gridx = 1;gridBagConstraints_1.gridy = 0;gridBagConstraints_1.ipadx = 54;gridBagConstraints_1.insets = new Insets(0, 12, 10, 0); }}/*** 测试类* @author SHK**/public class Test {public static void main(String[] args) {new Test().test();}public void test(){UseProgress use=new UseProgress();for(int i=0;i< =100;i++){use.printProgress("正在上传文件... ",i);try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}}use.progress.hide();//隐藏进度条}}该案例为使用Java调用进度条案例大家可以参考。
Java上传文件进度条的实现方法(附demo源码下载)
Java上传⽂件进度条的实现⽅法(附demo源码下载)本⽂实例讲述了Java上传⽂件进度条的实现⽅法。
分享给⼤家供⼤家参考,具体如下:东西很简单,主要⽤到commons-fileupload,其中有⼀个progressListener的接⼝,该接⼝可以实现实时更新已上传⽂件的⼤⼩,有了这个还说什么呢?这⾥给出代码:package lc.progress;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import lc.progress.vo.fileUploadStatus;import mons.fileupload.ProgressListener;public class myProgressListener implements ProgressListener {private HttpSession session;public myProgressListener(HttpServletRequest req) {session=req.getSession();fileUploadStatus status = new fileUploadStatus();session.setAttribute("status", status);}/* pBytesRead 到⽬前为⽌读取⽂件的⽐特数* pContentLength ⽂件总⼤⼩* pItems ⽬前正在读取第⼏个⽂件* 只要在session中实时保存⽂件上传的状态(这⾥我⽤fileUploadStatus类来封装)*/public void update(long pBytesRead, long pContentLength, int pItems) {// TODO Auto-generated method stubfileUploadStatus status = (fileUploadStatus) session.getAttribute("status");status.setPBytesRead(pBytesRead);status.setPContentLength(pContentLength);status.setPItems(pItems);}}然后在上传得servlet或action中加⼊这样⼀段代码,就可以把⾃定义的progressListener添加进去myProgressListener getBarListener = new myProgressListener(req);ServletFileUpload upload = new ServletFileUpload(factory);upload.setProgressListener(getBarListener);最后就是通过js来不断的访问另⼀个servlet来实时返回上传状态就可以了,限于篇幅我就不再贴代码了,有兴趣的读者可以⾃⼰下载来看。
layui进度条的实际例子
layui进度条的实际例子Layui进度条是一种常用的前端UI组件,可以展示任务的进度情况,并提供了丰富的样式和交互效果。
下面我们以一个文件上传的进度条为例,来展示Layui进度条的实际使用。
在页面中首先引入Layui的相关文件,包括layui.css和layui.js。
然后,创建一个<div>元素用于显示进度条的容器。
接下来,我们可以使用Layui的进度条模块来创建一个具体的进度条。
代码如下:```html<div class="progress-container"><div class="layui-progress layui-progress-big" lay-filter="progress-demo"><div class="layui-progress-bar layui-bg-red" lay-percent="0%"></div></div></div>```在上述代码中,progress-container是进度条的容器,layui-progress是进度条的主体,layui-progress-bar是进度条的滑块,lay-filter用于标识这个进度条,lay-percent设置进度条的初始百分比。
接下来,我们可以通过JavaScript来控制进度条的变化。
假设我们有一个文件上传的函数uploadFile(),可以通过监听文件上传的进度来更新进度条的状态。
代码如下:```javascripte('element', function(){var element = layui.element;// 模拟文件上传的进度变化function uploadFile(){var percent = 0;var timer = setInterval(function(){percent += 10;if(percent > 100){clearInterval(timer);element.progress('progress-demo', '100%');}else{element.progress('progress-demo', percent + '%');}}, 500);}uploadFile();});```在上述代码中,我们使用了Layui的element模块来控制进度条的状态。
通过代码实例跟我学如何自己编程实现带进度条的文件上传插件
<!-添加该内部框架的主要目的是在文件上传成功后,避免切换当前页面窗口,
从而使得显示结果仍然在当前页面中。
-->
</iframe>
<form
action="${pageContext.request.contextPath}/uploadFileServlet.action"
id="uploadFileFormID"
public void update(long percentBytesRead, long percentContentLength, int someOneFileItem)
其 中 的 percentBytesRead 参 数 代 表 到 目 前 为 止 读 取 文 件 的 比 特 数 , 而 percentContentLength 参数代表文件的总容量大小,someOneFileItem 参数代表目前正在读取 的第几个文件。
可以把这些文件总长、读取总字节数等有用的信息放在 session 对象中,而前台的 AJAX 相关的程序代码将调用和查询这些状况信息。
杨教授工作室,版权所有1 ,盗版必究, 1/14 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
1.1.2 带进度条的文件上传插件编程实现的具体代码示例
</form>
<div id="progressBarDivTagID">
<div id="upLoadedProgressBarDivTagID"></div>
</div>
<div id="upLoadedFileSizeInfoDivTagID"></div>
进度条组件ProgressBar
进度条组件ProgressBar
ProgressBar用于显示内容或操作的进度。
ProgressBar继承自Component,如图3-71所示。
图3-71 ProgressBar继承自Component
将ProgressBar方向设置为垂直,如图3-72和代码示例3-47所示。
代码示例3-47 将ProgressBar方向设置为垂直
图3-72 垂直ProgressBar的效果设置当前进度,在xml中进行设置,代码如下:
或者在Java中进行设置,代码如下:
设置最大值和最小值,如图3-73所示。
图3-73 设置最大值、最小值及进度的效果在xml中进行设置,代码如下:
或者在Java中设置,代码如下:
设置ProgressBar进度颜色,效果如图3-74所示,代码如下:
图3-74 设置ProgressBar颜色效果
设置ProgressBar底色颜色,效果如图3-75所示,代码如下:
图3-75 设置底色颜色效果
设置ProgressBar分割线,效果如图3-76所示。
图3-76 添加分割线效果
在xml中配置,代码如下:
在Java代码中配置,代码如下:
设置ProgressBar分割线颜色,效果如图3-77所示,代码如下:
设置ProgressBar提示文字,效果如图3-78所示,代码如下:
图3-77 设置分割线颜色效果
图3-78 设置提示文字效果。
java毕业设计进度安排
java毕业设计进度安排
以下是一个 Java 毕业设计的进度安排示例,你可以根据自己的实际情况进行调整:
1. 第一阶段(2 周):确定课题和需求
- 与指导老师沟通,确定毕业设计的课题和具体需求。
- 查阅相关文献和资料,了解课题的背景和现状。
- 制定项目计划,明确各阶段的任务和时间节点。
2. 第二阶段(4 周):系统设计与开发
- 进行系统的架构设计和数据库设计。
- 按照需求完成系统的各个模块的编码工作。
- 进行单元测试,确保每个模块的功能正常。
3. 第三阶段(3 周):系统测试与完善
- 对系统进行集成测试,验证系统的整体功能。
- 修复发现的缺陷和问题,优化系统性能。
- 进行用户界面设计和美化,提高系统的易用性。
4. 第四阶段(2 周):撰写论文和文档
- 根据毕业设计的要求,撰写毕业论文。
- 整理项目开发过程中的文档,包括需求文档、设计文档、测试文档等。
5. 第五阶段(1 周):项目演示和答辩
- 进行项目演示,向指导老师和评委展示系统的功能和特点。
- 准备答辩材料,回答指导老师和评委的提问。
6. 第六阶段(1 周):最终修订和提交
- 根据答辩反馈,对毕业设计进行最后的修订和完善。
- 提交最终版本的毕业设计和相关文档。
请注意,这只是一个示例进度安排,具体的时间安排应根据你的实际情况和学校的要求进行调整。
在整个过程中,要合理安排时间,确保按时完成各项任务,并与指导老师保持密切沟通,及时解决遇到的问题。
祝你顺利完成毕业设计!。
自制进度条的设置方法
自制进度条的设置方法方法一:基于文本输出的自制进度条1.确定进度条的总长度:进度条通常由一系列字符组成,可以使用一个字符串来表示进度条,字符串的长度即为进度条的总长度。
2.计算当前进度的百分比:根据任务的完成情况,计算当前进度的百分比。
3.根据当前进度计算进度条的长度:进度条的长度应该与当前进度成比例,可以使用字符串的截取功能来实现。
4. 输出进度条:将进度条输出到屏幕上,可以使用print函数来实现。
下面是一个示例代码,演示了如何实现基于文本输出的自制进度条:```pythondef update_progress(progress):#进度条的总长度bar_length = 50#计算当前进度的百分比percent = progress * 100#根据当前进度计算进度条的长度filled_length = int(bar_length * progress)#输出进度条bar = '#' * filled_length + '-' * (bar_length -filled_length)print('[%s] %.1f%%' % (bar, percent), end='\r')#模拟长时间任务for i in range(101):update_progress(i/100)```上述代码中,我们定义了一个`update_progress`函数,参数为当前进度的百分比。
在每次更新进度时,调用该函数即可更新进度条。
注意,在每次输出进度条时,使用`end='\r'`来使输出保持在同一行。
方法二:基于图形界面的自制进度条基于图形界面的自制进度条通常更为直观且美观,可以使用Python的GUI库来实现,例如`tkinter`、`PyQt`等。
以下是使用`tkinter`库实现基于图形界面的自制进度条的示例代码:```pythonimport tkinter as tkdef update_progress(progress):#更新进度条的可视化效果canvas.itemconfig(progress_bar, width=progress * bar_length) #创建窗口和画布root = canvas = tk.Canvas(root, width=300, height=20)canvas.pack#初始化进度条bar_length = 300progress_bar = canvas.create_rectangle(0, 0, 0, 20,fill='blue')#模拟长时间任务for i in range(101):update_progress(i/100)root.update```上述代码中,我们创建了一个窗口和一个画布,然后使用`canvas.create_rectangle`函数创建了一个矩形,表示进度条。
java进度条插件_Vue进度条progressbar组件功能
java进度条插件_Vue进度条progressbar组件功能Vue进度条progressbar组件是用于展示任务、操作、加载等过程的进度的一种UI组件。
它可以通过不同的样式和配置来满足不同场景下的需求。
Vue进度条progressbar组件的功能主要包括以下几个方面:1. 进度显示:Vue进度条progressbar组件可以展示任务的进度,让用户直观地了解任务的执行情况。
可以通过设置进度条的宽度、颜色等属性来实现不同的视觉效果。
2. 进度更新:Vue进度条progressbar组件可以动态更新进度,可以通过传入进度值来实时更新进度条的显示。
可以在执行耗时任务时,通过获取任务的进度并更新进度条,让用户看到任务的实时进展。
3. 进度提示:Vue进度条progressbar组件可以展示任务执行的提示信息,如任务的当前状态、剩余时间等。
可以通过在组件中添加相关文本内容来实现这一功能。
4. 进度样式定制:Vue进度条progressbar组件的样式可以根据实际需求进行自定义。
可以通过修改组件的CSS样式来改变进度条的外观,如进度条的颜色、形状、大小等。
5. 进度动画效果:Vue进度条progressbar组件可以增加动画效果,让进度条的变化更加平滑、流畅。
可以通过CSS动画或JavaScript动画来实现进度条的动态变化效果。
6. 进度事件处理:Vue进度条progressbar组件可以监听相关事件,实现与进度条相关的操作和交互。
例如,可以通过监听进度条的点击事件来执行相关的操作,如暂停任务、取消任务等。
7. 进度控制:Vue进度条progressbar组件可以提供相关的控制方法,用于控制进度条的显示和隐藏,以及进度的更新。
可以根据实际需要,通过调用组件的方法来控制进度条的状态和显示方式。
8. 进度配置:Vue进度条progressbar组件可以提供相关的配置选项,用于灵活地配置组件的行为和外观。
可以通过传入不同的参数来自定义组件的功能和样式,以满足特定的需求。
JSP Ajax Dojo框架实现进度条
JSP Ajax Dojo框架实现进度条在前面的章节中,我们也介绍了进度条的实现,但在其实现过程中,会发现需要编写大量代码,并且在运行时进度条缺少修饰,进度条的样式非常难看。
这时,我们可以利用Dojo框架提供的ProgressBar组件,直接创建进度条。
这个组件不但界面又有,而且具有强大的功能,并且只需要少量的代码。
在本节中,我们将使用Dojo框架提供的UI组件ProgressBar和Dojo框架的事件实现进度条的显示和控制。
打开记事本,输入下列代码:将上述代码保存,名称为test1.html,将该文件保存在和dojo-release-1.1.1文件夹同一个目录下。
打开IE浏览器,在地址栏中输入http://localhost:8080/DojoExamp le/test.html,单击【转到】,会显示如图10-12所示窗口:图10-12 进度条显示窗口在该文件中,前面的代码和上一个案例含义相同,这里就不再介绍了。
代码“d ojo.addOnLoad(go)”在页面加载时调用go函数。
addOnload()是dojo的一个方法,表示可以加载指定函数到window.load时执行,好处就是可以很方便的在window.lo代码“new dijit.ProgressBar”表示创建一个ProgressBar进度条对象,并在创建过程只能够设置了进度条的名称,大小等。
方法byId()是一个非常有用的一个方法,与prototype.js的著名的$一样,似乎以前的版本还有dojo.byIdArray,不过最新的版本已经找不到这个函数了(除了sr c\compat\0.2.2.js)。
该方法表示获取指定id的层的对象。
如果有多个元素具有指定的id,则返回的是一个集合。
使用该方法可以采用下列形式:将“set”按钮的onclick事件和方法setParameters联系起来。
当set按钮被单击时,就会触发并调用setParameters方法。
使用Java快速实现进度条(转)
使⽤Java快速实现进度条(转)[java]1. package org.ubird;2.3. import java.awt.BorderLayout;4. import java.awt.Dimension;5. import java.awt.Image;6. import java.awt.event.ActionEvent;7. import java.awt.event.ActionListener;8. import java.util.ArrayList;9. import java.util.List;10. import java.util.concurrent.ExecutionException;11.12. import javax.imageio.ImageIO;13. import javax.swing.ImageIcon;14. import javax.swing.JButton;15. import javax.swing.JLabel;16. import javax.swing.JPanel;17. import javax.swing.JProgressBar;18. import javax.swing.JScrollPane;19. import javax.swing.SwingUtilities;20. import javax.swing.SwingWorker;21.22. public class TestSwingWorker extends SwingWorker<List<Image>,String>{23.24. private JLabel status;25. private JPanel viewer;26. private String[] imagesName;27. private JProgressBar jpb;28.29. public static void main(String[] args) {30. SwingUtilities.invokeLater(new Runnable(){31. public void run() {32. TestFrame frame = new TestFrame();33. final JPanel panel = new JPanel();34. final JLabel label = new JLabel();35.36. final String[] imagesName = new String[38];37. for(int i=0; i<imagesName.length; i++){38. imagesName[i] = "res/1 ("+(i+1)+").jpg";39. }40.41. JScrollPane sp = new JScrollPane(panel);42. sp.setSize(new Dimension(700,500));43. frame.add(sp,BorderLayout.CENTER);44.45. JPanel stp = new JPanel();46. final JProgressBar jpb = new JProgressBar();47. jpb.setMinimum(1);48. jpb.setMaximum(imagesName.length);49. stp.add(jpb);50. stp.add(label);51. frame.add(stp,BorderLayout.SOUTH);52.53. JButton button = new JButton("load image");54. button.addActionListener(new ActionListener(){55. public void actionPerformed(ActionEvent e) {56. TestSwingWorker sw = new TestSwingWorker(label, panel, imagesName, jpb);57. sw.execute();58. }59. });60.61. frame.add(button,BorderLayout.NORTH);62.63. frame.setVisible(true);64. }65. });66. }67.68. public TestSwingWorker(JLabel status, JPanel viewer, String[] imagesName, JProgressBar jpb){69. this.status = status;70. this.viewer = viewer;71. this.imagesName = imagesName;72. this.jpb = jpb;73. }74.75. @Override76. protected List<Image> doInBackground() throws Exception {77. List<Image> image = new ArrayList<Image>();78. for(int i=0; i<imagesName.length; i++){79. image.add(ImageIO.read(getClass().getClassLoader().getResource(imagesName[i])));80. publish("已经加载了 "+(i+1)+"/"+imagesName.length+" : "+imagesName[i]);81. }82. return image;83. }84.85. @Override86. protected void process(List<String> chunks) {87. status.setText(chunks.get(chunks.size()-1));88. int x = Integer.parseInt(chunks.get(chunks.size()-1).substring(chunks.get(chunks.size()-1).indexOf("(")+1,chunks.get(chunks.size()-1).indexOf(")")).trim());89. jpb.setValue(x);90.91. for(String str : chunks){92. System.out.println(str);93. }94. }95.96. @Override97. protected void done() {98. try {99. for(Image image : get()){100. JLabel label = new JLabel(new ImageIcon(image));101. label.setSize(160, 120);102. label.setPreferredSize(new Dimension(160,120));103. viewer.add(label);104. }105. } catch (InterruptedException e) {106. e.printStackTrace();107. } catch (ExecutionException e) {108. e.printStackTrace();109. }110. }111.112.113. }[java]1. package org.ubird;2.3. import javax.swing.JFrame;4.5. public class TestFrame extends JFrame {6.7.8. public TestFrame(){9. setTitle("Test Frame");10. setSize(800,600);11. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);12. }13. }该程序的可运⾏源码、资源图⽚的下载地址:NOTE:解压后双击⾥⾯的:CompileAndRun.bat可在Win下直接运⾏/kakashi8841/article/details/6388797。
java及vue进度条实现方法
java及vue进度条实现方法(原创版2篇)目录(篇1)1.Java 进度条实现方法2.Vue 进度条实现方法正文(篇1)一、Java 进度条实现方法Java 中实现进度条的方法有很多,这里介绍两种常用的库:JProgressBar 和 JSR166。
1.JProgressBarJProgressBar 是 Java Swing 中的一个组件,可以用来创建一个进度条。
以下是使用 JProgressBar 创建进度条的示例代码:```javaimport javax.swing.*;import java.awt.*;public class ProgressBarDemo {public static void main(String[] args) {JFrame frame = new JFrame("ProgressBarDemo");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300, 200);JProgressBar progressBar = new JProgressBar();progressBar.setStringPainted(true);progressBar.setValue(0);frame.getContentPane().add(progressBar, BorderLayout.CENTER);new Thread(() -> {for (int i = 0; i <= 100; i++) {progressBar.setValue(i);try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}}}).start();frame.setVisible(true);}}```2.JSR166JSR166 是 Java 的一个进度条库,提供了更丰富的功能和更好的性能。
java及vue进度条实现方法
java及vue进度条实现方法【原创版2篇】目录(篇1)I.Java进度条实现方法1.进度条实现原理2.进度条实现方式3.进度条实现示例正文(篇1)Java进度条实现方法-----------Java进度条是一种用于显示程序执行进度的图形界面元素。
实现Java进度条的方法有很多种,以下是其中几种常用的实现方法。
### 进度条实现原理Java进度条的实现原理是基于时间轴和进度条宽度。
在程序执行过程中,通过计算已完成的时间占总时间的比例,可以得出当前进度条的进度。
进度条宽度根据进度值动态调整,从而实现进度条的动态显示。
### 进度条实现方式Java进度条的实现方式可以分为以下几种:1.定时器(Timer)实现:使用定时器在一定时间间隔内更新进度条的进度值,从而实现动态显示。
2.Swing(Java图形用户界面工具包)组件实现:使用Swing组件中的ProgressBar类实现进度条,可以设置进度条的最大值、当前值和颜色等属性。
3.多线程(Multi-threading)实现:使用多线程在后台更新进度条的进度值,从而实现动态显示。
目录(篇2)I.Java进度条实现方法1.什么是Java进度条2.Java进度条实现方法3.Java进度条应用场景正文(篇2)Java进度条是一种在应用程序中显示进度的图形界面元素。
它可以帮助用户了解程序执行过程中的进度,从而更好地控制程序的运行。
Java 进度条的实现方法有很多种,以下是其中几种常用的方法:1.使用Swing库中的JProgressBar组件JProgressBar是Swing库中的一个组件,可以用来创建进度条。
它提供了多种样式和大小选项,可以根据需要选择合适的样式。
使用JProgressBar实现进度条的步骤如下:(1)创建一个JProgressBar对象,并将其添加到容器中。
(2)设置JProgressBar的初始值和最大值。
(3)在需要更新进度条的地方调用setProgress方法,并传入当前进度值。
Java实现命令行中的进度条功能
Java实现命令⾏中的进度条功能前⾔最近在写⼀个命令⾏中的下载⼯具,既然是下载⽂件⽤的,那么实时显⽰下载进度是⾮常有必要的。
因此,就有了这⾥对进度条的实现尝试。
预览图还是先预览下效果图吧。
这⾥是cmd⾥⾯的效果,总体看着还⾏,不⾜之处就是可以看到前⾯的游标在闪烁。
这⾥是IDEA⾥⾯运⾏的效果图,由于字符间距都⽐较⼤,所以这⾥看着效果不怎么好。
原理这⾥关键是⽤到了这个函数System.out.print("\b");其中转义符\b的作⽤就是删除游标前⾯的⼀个字符。
这⾥举个栗⼦:System.out.print("hello,world!");System.out.print("\b\b");执⾏完第⼀⾏后是输出了hello,world!注意这⾥都⽤的都是print函数,⽽不是println函数。
执⾏到第⼆⾏后,输出就变为了hello,worl因为有两个\b,所以删除两个字符,因此删掉了d和!,还剩下hello,worl原理懂了之后,剩下的效果实现应该是⾮常简单了。
下⾯直接上代码吧。
代码Talk is cheap,show me the code! ------ 屁话少说,放码过来!public class ProgressBar {private int index = 0;private String finish;private String unFinish;// 进度条粒度private final int PROGRESS_SIZE = 50;private int BITE = 2;private String getNChar(int num, char ch){StringBuilder builder = new StringBuilder();for(int i = 0; i < num; i++){builder.append(ch);}return builder.toString();}public void printProgress() throws InterruptedException {System.out.print("Progress:");finish = getNChar(index / BITE, '█');unFinish = getNChar(PROGRESS_SIZE - index / BITE, '─');String target = String.format("%3d%%[%s%s]", index, finish, unFinish); System.out.print(target);while (index <= 100){finish = getNChar(index / BITE, '█');unFinish = getNChar(PROGRESS_SIZE - index / BITE, '─');target = String.format("%3d%%├%s%s┤", index, finish, unFinish); System.out.print(getNChar(PROGRESS_SIZE + 6, '\b'));System.out.print(target);Thread.sleep(50);index++;}}}。
Java进度条百分比简单算法,根据数据量计算
Java进度条百分⽐简单算法,根据数据量计算1. 先把数据计算⽣成百分⽐public JsonResult add(@Validated(ValidateConfig.ADD.class)SecKillDevice secKillDevice, HttpServletRequest request){//⾸先循环获取当前选取的商家listfor (int m = 0;m <= merchantList.size()-1; m++){//计算百分⽐商家数 / ((商家总数-1)* 100%) = 进度条的百分⽐减⼀是因为m从0开始计算Double aDouble = m/((merchantList.size()-1) * 0.01);int intValue=aDouble.intValue();Integer bfb=Integer.valueOf(intValue);//将进度值存储到session中request.getSession().setAttribute("processValue", bfb);}return new JsonResult().success("success");}2. 从session将执⾏进度值取出来并返回给⽤户1秒请求⼀次public Object getProcess(HttpServletRequest request) {//从session将执⾏进度值取出来并返回给⽤户Object obj = request.getSession().getAttribute("processValue");return obj;}3.前端页⾯,为了关闭添加页⾯以后继续可以保存进度条进度,所以在后⾯加了判断,前端为 layui框架//定义定时器var timer;//轮询请求进度数据getProcessvalue:function(){//1秒请求⼀次进度条的数据timer = setInterval(function () {$.post('/ad/secKillDevice/getProcess.json',function(data){$('.layui-progress').show(); //显⽰进度条//更新进度条element.progress('demo', data+'%');// 这个是列表页⾯的判断逻辑,因为为了加载页⾯的时候,继续保存进度条的进度// 如果进度条百分之百或者百分之0 不在调⽤后台轮询接⼝关闭定时器, 隐藏进度条if (data == 0 || data == 100){<br> //清空定时器clearInterval(timer);$('.layui-progress').hide();return;}});}, 1000);}, 4.html div样式1<div class="layui-progress layui-progress-big" lay-filter="demo" lay-showPercent="true">2<div class="layui-progress-bar" lay-percent="0%"></div>3</div>仅供参考!!。
java使用ajax实现进度条
java使用ajax实现进度条.txt年轻的时候拍下许多照片,摆在客厅给别人看;等到老了,才明白照片事拍给自己看的。
当大部分的人都在关注你飞得高不高时,只有少部分人关心你飞得累不累,这就是友情!在最近的一个项目中,有一个上传功能:上传一个cvs文件,然后解析此文件并写入数据库由于经常需要传很大的文件,客户完成此功能往往需要40分钟,在这个过程中,页面也没有任何提示,用户体验非常不好?为何不用ajax作一个进度条呢?分两步完成此需求:一:写一个简单的ajax,实现最简单的进度条功能。
二:把此进度条改造为项目可用的进度条。
一:最简单的进度条1。
客户端每2秒发送一个createXMLHttpRequest请求给服务端.并得到服务端返回的进度数据.根据服务端返回的数据,用Javascript 更新一个table的width,这样就模拟了一个进度条.progressBar.html.内容如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Ajax Progress Bar</title><script type="text/javascript">var xmlHttp;var key;function createXMLHttpRequest() {if (window.ActiveXObject) {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}else if (window.XMLHttpRequest) {xmlHttp = new XMLHttpRequest();}}function go() {createXMLHttpRequest();clearBar();var url = "ProgressBarServlet?task=create";var button = document.getElementById("go");button.disabled = true;xmlHttp.open("GET", url, true);xmlHttp.onreadystatechange = goCallback;xmlHttp.send(null);}function goCallback() {if (xmlHttp.readyState == 4) {if (xmlHttp.status == 200) {setTimeout("pollServer()", 2000);}}}function pollServer() {createXMLHttpRequest();var url = "ProgressBarServlet?task=poll&key=" + key;xmlHttp.open("GET", url, true);xmlHttp.onreadystatechange = pollCallback;xmlHttp.send(null);}function pollCallback() {if (xmlHttp.readyState == 4) {if (xmlHttp.status == 200) {var percent_complete = xmlHttp.responseXML.getElementsByTagName("percent")[0].firstChild.data;var progress = document.getElementById("progress");var progressPersent = document.getElementById("progressPersent");progress.width = percent_complete + "%";progressPersent.innerHTML = percent_complete + "%";if (percent_complete < 100) {setTimeout("pollServer()", 2000);} else {document.getElementById("complete").innerHTML = "Complete!";//document.getElementById("go").disabled = false;}}}}function clearBar() {var progress_bar = document.getElementById("progressBar");var progressPersent = document.getElementById("progressPersent");var complete = document.getElementById("complete");progress_bar.style.visibility = "visible"progressPersent.innerHTML = " ";complete.innerHTML = "Begin to upload this file...";}</script></head><body><div id="progressBar" style="padding:0px;border:solid black 0px;visibility:hidden"><table width="300" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td align="center" id="progressPersent">86%</td></tr><tr ><td><table width="100%" border="1" cellspacing="0" cellpadding="0" bordercolor="#000000"><tr><td><table width="1%" border="0" cellspacing="0" cellpadding="0" bgcolor="#FF0000" id="progress"><tr><td> </td></tr></table></td></tr></table></td></tr><tr><td align="center" id="complete">completed</td></tr></table></div><input id = "go" name="run" type="button" value="run" onClick="go();"></body></html>2:一个模拟servlet:ProgressBarServlet1。
基于JavaAPI的进度条的设计与实现
最大值 . 程序在 actio nPerf ormed ( ) 方 法中接着创建了 一个 Co pyF iles 类的 ope rat ion 实例 , 并将 Prog ressM oni to rExample 类 的 contentP ane 实例 对象 作为 它的属性改变事件的监听器 , 最后执行该 operation 实例 . CopyFiles 类派 生自 SwingW orke r 类 , 所以实 际上是调用其 继承的 ex ecute ( ) 方法 , 也就是安排 operation 实例在后台执行 . 通常情况下 , 总是将比 较耗时的操作安排在后台运行 , 这样可以保证 G UI 仍然处于活动状态 . 当文件拷贝操作开始后 , 进度监视对话框并不 会马上弹出 . 在 默认情 况下 P rogressM oni to r 会等 待 500 ms 后再决定是否显示对话框图 . 如果届时任 务已完 成 , P rog ressM onito r 则不会 显示 相关 对话 框. 可通过调用其 se tMi lli sT o Decide T oPopup( ) 方 法来设定此时间延迟属性 , 此属性的缺省值为 2 s . 真正拷贝文件的 操作是在 doInBackg round ( ) 方法中进行 , 程序在 Copy Files 类中覆盖了 Swi ngWo rker 类中对应的抽象方法 , 代码范例 3 如下 : public Void do InBackg round( ) 狖 int prog ress = 0 ; se tP rog ress( 0) ; Fi le [ ] f iles = srcDi r . listFiles( ) ; lo ng t ot alBy tes = calcT o talBy t es( fi le s) ; lo ng by t esCopied = 0 ; w hile ( prog ress < 100 && ! isCancelled( ) ) 狖 f or ( File f : f iles) 狖 Fi le destFile = new Fi le ( destDi r , f . get Name ( ) ) ; lo ng previo usLen = 0 ; t ry 狖 InputS tream in = new Fi leInputS tream( f) ; OutputSt ream out = new FileOutputSt ream ( dest File) ; byt e[ ] buf = new by te[ 1024] ; int co unte r = 0 ; int len ; w hi le ( ( len = in . read( buf) ) > 0) 狖 out . w rite ( buf , 0 , len) ; count er += len ; · 29 ·
Java文件上传进度条
Java文件上传进度条前提:用jersey设置上传资源,前端用form上传文件并显示进度条。
1、单文件上传显示进度条:前端代码:<script type="text/javascript" src="./js/jquery-1.8.1.min.js"></script><script type="text/javascript">$(document).ready(function(){$("#upload").click(function(){$("#_form").submit();var eventFun = function(){$.ajax({type: 'GET',url: './rest/file/percent',data: {},dataType: 'json',success : function(data){$('#filess').empty().append(data.percent);if(data.rate == 100){window.clearInterval(intId);}}});};var intId = window.setInterval(eventFun,500);});});</script></head><body>文件上传:<form id="_form" method='post' enctype="multipart/form-data"action="./rest/file/upload"><input type="file" name="file" /><span id="filess"></span><br /></form><DIV id="upload">上传</DIV></body>调用获取进度信息的方法资源方法如下,实现思路是将sessionID作为sessionAttribute的key:@GET@Path("/percent")@Produces({ MediaType.APPLICATION_JSON + ";charset=utf-8" })public Response percent(@Context HttpServletRequest request) {final HttpSession session = request.getSession();long uploadPercent = 0;if (session.getAttribute(session.getId()) != null) {uploadPercent = (Long) session.getAttribute(session.getId());}return Response.ok(JSONObject.fromObject("{\"percent\":\"" + uploadPercent + "\"}")).build();}公共参数:private static String SERVER_UPLOAD_LOCATION_FOLDER = "D:\\123456\\";a)用FormDataMultiPart参数进行获取文件,缺点:只能获取form表单中最后一个type="file"name="file"的元素进行上传处理(这里的name="file"的file值要和下文中form.getField("file");的"file"一致,并且FormDataMultiPart在调用资源的时候就已经开始上传文件了)。
基于Java API的进度条的设计与实现
基于Java API的进度条的设计与实现
包子建
【期刊名称】《机械与电子》
【年(卷),期】2009(000)006
【摘要】详细描述了一种进度条的设计与实现方法,运用一个简单的应用程序示范了其设计思想.使用多线程设计模式为已有的ProgressMonitor类提供了更多的功能,这样只需对已有的应用程序进行少量的修改,就可充分获得因此而带来的好处.【总页数】4页(P28-31)
【作者】包子建
【作者单位】上海工商外国语学院,上海,201300
【正文语种】中文
【中图分类】TP311.52
【相关文献】
1.基于Comet属性同步的Java Web实时进度条研究 [J], 陈冈
2.基于JSP-JavaMail API开发模式的邮件系统设计与实现 [J], 郑晋文
3.基于ArcGIS API for JavaScript的金安区公路路网建库系统的设计与实现 [J], 夏竹青;王竹婷
4.基于ArcGIS JavaScript API的物业全覆盖管理信息系统设计与实现 [J], 周浩;赵修彦
5.基于ArcGIS API for JavaScript的金安区公路路网建库系统的设计与实现 [J], 夏竹青;王竹婷;
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java 制作进度条
进度条(JProgressBar)是一种以可视化形式显示某些任务进度的组件。
该类实现了一个用于为长时间的操作提供可视化的指示器的GUI进度条。
在任务的完成进度中,进度条显示该任务完成的百分比。
此百分比通常由一个矩形以可视化形式表示,该矩形开始是空的,随着任务的完成逐渐被填充。
在该实例中,在构造方法中设置了图形界面并添加了事件监听器,从而使图形界面具有动态效果,actionPerformed()方法和stateChanged()方法是事件监听器对必须实现的方法,有关事件的详细知识将在下一章中详细介绍。
该实例运行效果如图9-24所示:
图9-24 进度条。