进度条JProgressBar结合线程实现copy文件进度
packagetest.dxc;
importjava.awt.BorderLayout;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.io.BufferedInputStream;
importjava.io.BufferedOutputStream;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.JProgressBar;
importjavax.swing.JTextField;
importjavax.swing.border.TitledBorder;
/***//**
*@author左杰
*
*/
publicclassCopyFileextendsJFrameimplementsActionListener...{
privatestaticfinallongserialVersionUID=3222640218122985119L;
privateJProgressBarjpb=newJProgressBar();
privateJButtonjbtCopy=newJButton("copy");
privateJTextFieldjtfFrom=newJTextField();
privateJTextFieldjtfTo=newJTextField();
publicCopyFile()...{
JPaneljPanel2=newJPanel();
jPanel2.setLayout(newBorderLayout());
jPanel2.setBorder(newTitledBorder("From"));
jPanel2.add(jtfFrom,BorderLayout.CENTER);
JPaneljPanel3=newJPanel();
jPanel3.setLayout(newBorderLayout());
jPanel3.setBorder(newTitledBorder("To"));
jPanel3.add(jtfTo,BorderLayout.CENTER);
JPaneljPanel1=newJPanel();
jPanel1.setLayout(newGridLayout(2,1));
jPanel1.add(jPanel2);
jPanel1.add(jPanel3);
JPaneljPanel4=newJPanel();
jPanel4.add(jbtCopy);
this.getContentPane().add(jpb,BorderLayout.NORTH);
this.getContentPane().add(jPanel1,BorderLayout.CENTER);
this.getContentPane().add(jPanel4,BorderLayout.SOUTH);
jpb.setStringPainted(true);
jbtCopy.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente)...{
newCopyFileThread().start();
}
publicstaticvoidmain(String[]args)...{
CopyFileframe=newCopyFile();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("copyfile");
frame.setSize(400,180);
frame.setVisible(true);
}
classCopyFileThreadextendsThread...{
privateintcurrentValue;
publicvoidrun()...{
BufferedInputStreamin=null;
BufferedOutputStreamout=null;
try...{
FileinFile=newFile(jtfFrom.getText().trim());
in=newBufferedInputStream(newFileInputStream(inFile));
FileoutFile=newFile(jtfTo.getText().trim());
out=newBufferedOutputStream(newFileOutputStream(outFile));
longtotalByes=in.available();
jpb.setValue(0);
jpb.setMaximum(100);
intr;
longbytesRead=0;
byte[]b=newbyte[10];
while((r=in.read(b,0,b.length))!=-1)...{
out.write(b,0,r);
bytesRead+=r;
currentValue=(int)(bytesRead*100/totalByes);
jpb.setValue(currentValue);
}
}catch(Exceptione)...{
e.printStackTrace();
}finally...{
try...{
if(in!=null)...{
in.close();
}
if(out!=null)...{
out.close();
}
}catch(Exceptione)...{
e.printStackTrace();
}
}
}
}
}
分享到:
相关推荐
这个是关于java中Frame中JProgressBar进度条的使用,一个弹窗小案例,希望大家喜欢
进度条 带线程的JProgressbar 结果/输出 进度条
主要介绍了Java Swing JProgressBar进度条的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
使用JProgressBar和SwingWorker做的Java进度条 简单方便 效果看这里:http://blog.csdn.net/kakashi8841/archive/2011/05/03/6388797.aspx
通过读取文件来演示JProgressBar的功能!
基于 jQuery的JProgressBar Demo文件加载进度条演示效果1.0.zip
摘要:脚本资源,jQuery,JProgressBar,Js进度条 JProgressBar 1.0加载进度条演示Demo文件,关于JProgressBar类的用法: * 创建一个进度条 * @param {Object} config 配置 * id : {String}, 进度条的ID,默认会...
在面向对象的风格中,ProgressDialog 是一个类,它封装了使用 waitdialog 函数创建的进度条,提供对状态消息文本和进度指示器的 get/set 访问,并确保使用取消按钮或CTRL+BREAK,以及在发生错误的情况下。...
主要介绍了java 实现多线程的方法总结的相关资料,需要的朋友可以参考下
JAVA JProgressBar的使用方式
JProgressBar是Swing库提供的一个用于显示进度的组件。它可以在图形界面中展示任务执行的进度,让用户了解任务的完成程度。
//进度条更新线程 JProgressBar progress; //进度条 public JWindowDemo() { Container container=getContentPane(); //得到容器 setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); //设置...
博文链接:https://jacky68147527.iteye.com/blog/250401
JProgressBar jpb;//定义进度条 JLabel jl1;//用于在窗体的北部放一张图片,南部是进度条 int width,height;//用于获取显示屏分辨率大小 public static void main(String []args){ Index index=new Index(); ...
用JavaRMI框架实现,组合了JProgressBar,注意服务器启动用Start.jar不要用Service.jar,客户端是Client.jar可开多个,已经进行过局域网测试(JDK1.5)。注册功能,但要先建个邮件服务器,其中建立一个域,建一个...
7.2.3 类与源代码文件的搭配 106 7.3 成员的访问控制 107 7.3.1 公共类型 107 7.3.2 私有类型 108 7.3.3 默认类型 109 7.3.4 保护类型 109 7.3.5 Java中封装的实现 110 7.4 final的变量 112 7.4.1 ...
3.7.8 运算符的结合性和优先级 69 3.8 本章小结 70 本章练习 70 第4章 流程控制和数组 71 4.1 顺序结构 72 4.2 分支结构 72 4.2.1 if条件语句 72 4.2.2 switch分支语句 76 4.3 循环结构 78 4.3.1 while循环...
包含:JTable 、 JList 、 JComboBox 、JSlider 、JProgressBar 、 JSpinner 这些都是 Netbeans 的基本的组件,我写了一些简单的代码,对这些组件进行熟悉。
13.3.5 进程条(JprogressBar) 13.3.6 表格(JTable) 13.3.7 树(JTree) 13.3.8 文本框(JTextField)与文本区(JTextArea) 13.4 布局管理器 13.4.1 FlowLayout布局管理器 13.4.2 BorderLayout布局管理器 13.4.3 ...