一、实验内容
利用线程模拟文件复制的进度显示,点击“复制文件”,开始显示进度条,并实时显示复制进度,复制完成后显示“文件复制已完成!”,点击“取消”,取消复制,进度条归零,点击“×”可以退出系统,注意复制按钮和取消按钮在同一时间,只有一个可用。
二、实验原理
- 将窗口划分为三个面板,设置为3行1列网格布局
- 第一行添加复制文件和取消这两个按钮组件,在动作事件监听方法中设置复制文件和取消两个按钮是互斥的
- 第二行添加JLabel组件用于文字显示复制进度
- 第三行添加JProgressBar进度条组件,并设置为水平进度条,采用确定性进度条,显示当前进程的进度
三、运行
源代码:
package 线程模拟文件复制;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* Created by Henry
* Date: 2019/11/11
* Time: 11:11
*/
public class CopyFilesProgressBar extends JFrame implements ActionListener {
/**
* 利用线程模拟文件复制的进度显示
*/
private static final long serialVersionUID = 1L;
JButton jbt_copy, jbt_cancel;
JLabel jbl_show;
JProgressBar jpbar;
CopyFilesThread copyfilesthread;
CopyFilesProgressBar() {
super("文件复制进度条演示");
this.setBounds(100, 200, 550, 300);
this.getContentPane().setLayout(new