我们在一些网站中经常能够看到进度条,这是提示我们当前加载到什么时候了,本篇文章我们就来看看用java如何写出这么一个时间进度条。

示例:package com.original.client.widget.execcenter;

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Container;

import java.awt.Dimension;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JProgressBar;

import javax.swing.Timer;

import javax.swing.event.ChangeEvent;

import javax.swing.event.ChangeListener;

import net.miginfocom.swing.MigLayout;

/**

*

* @author panghui 2013-6-28

* 消息中心倒计时进度条

*/

public class TestOExecProgressBar implements ActionListener, ChangeListener

{

JFrame frame = null;

JProgressBar progressbar;

JLabel label;

Timer timer;

JButton b;

JButton s;

public TestOExecProgressBar()

{

frame = new JFrame("安装");

frame.setBounds(100, 100, 400, 130);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Container contentPanel = frame.getContentPane();

label = new JLabel("", JLabel.CENTER);

progressbar = new JProgressBar();

progressbar.setOrientation(JProgressBar.HORIZONTAL);

progressbar.setMinimum(0);

progressbar.setMaximum(100);

progressbar.setValue(0);

//progressbar.setStringPainted(true);//设置进度条上边是否显示 百分比

progressbar.addChangeListener(this); // 实现进度条值改变的动态监听

progressbar.setBounds(0, 20, 100, 5);

progressbar.setBorderPainted(false);

progressbar.setForeground(new Color(55, 165, 228));

progressbar.setBackground(new Color(218, 218, 218));

JPanel panel = new JPanel(new MigLayout("wrap 2", "[grow,100%]", "[grow,50%] [grow,50%]"));

panel.setBackground(new Color(255, 255, 255));

panel.setPreferredSize(new Dimension(400, 50));

b = new JButton("安装");

b.setForeground(Color.blue);

b.addActionListener(this);

s = new JButton("停止");

s.setForeground(Color.blue);

s.addActionListener(this);

panel.add(b);

panel.add(s);

panel.add(progressbar, "growx,h 7!,span 2");

timer = new Timer(100, this);

contentPanel.add(panel, BorderLayout.NORTH);

contentPanel.add(label, BorderLayout.SOUTH);

frame.setVisible(true);

}

public void actionPerformed(ActionEvent e)

{

if (e.getSource() == b)

{

timer.start();

}

if (e.getSource() == s)

{

timer.stop();

}

if (e.getSource() == timer)

{

int value = progressbar.getValue();

if (value

{

progressbar.setValue(++value);

}

else

{

timer.stop();

//frame.dispose();

}

}

}

public void stateChanged(ChangeEvent e1)

{

int value = progressbar.getValue();

if (e1.getSource() == progressbar)

{

label.setText("目前已完成进度:" + Integer.toString(value) + "%");

label.setForeground(Color.blue);

}

}

public static void main(String[] args)

{

TestOExecProgressBar app = new TestOExecProgressBar();

}

}

以上就是本篇文章的所有内容,想了解更多java常见问题及解决方法的小伙伴就请关注我们网站吧。

推荐阅读:

java 进度条时间设置_java进度条时间显示怎么实现?相关推荐

  1. java时间设置_JAVA中的时间操作

    java中的时间操作不外乎这四种情况: 1.获取当前时间 2.获取某个时间的某种格式 3.设置时间 4.时间的运算 好,下面就针对这四种情况,一个一个搞定. 一.获取当前时间 有两种方式可以获得,第一 ...

  2. java 进度条时间设置_java进度条

    练习JProgressBar结合Timer使用. 代码如下: package luojing; import java.awt.*; import java.awt.event.*; import j ...

  3. java 一周前日期_java获取当前时间前一周、前一月、前一年的时间

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar c = Calend ...

  4. java 时间处理_JAVA处理日期时间常用方法

    Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了 ...

  5. java 时间类_Java日期和时间类简介

    Java 的日期和时间类位于 java.util 包中.利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间. Date 类 Date 类是 Java 中的日期时间类 ...

  6. java怎么给时间赋值_Java 8新时间日期库java.time的使用示例

    Instant--它代表的是时间戳 LocalDate--不包含具体时间的日期,比如 2020-01-14.它可以用来存储生日,周年纪念日,入职日期等. LocalTime--它代表的是不含日期的时间 ...

  7. java获取当前时间比较_java获取当前时间和时间比较大小

    A获取当前时间: Java代码 import java.text.SimpleDateFormat; import java.util.Date; public class GetCurrentTim ...

  8. Windows 技术篇 - windows日期和时间设置里没有Internet 时间页签原因和解决方法

    因为工作关系设置了一下系统时间,然后想用网络获取最新的时间来自动更正下,然后发现没有这个功能-,百度后发现其实是有一个 Internet 时间页签的,在这个页签里才可以设置,那为什么我这里没有呢? 原 ...

  9. 微软电脑怎么设置时间服务器地址,如何配置Internet时间设置,让电脑时间与北京时间分秒不差...

    分秒不差的时间在如今这个时代什么时候最有用呢?呵呵,就是秒杀商品时.之前天猫搞了一个秒杀活动,就因为Microsoft酋长相信了电脑上的时间,结果比准确的北京时间晚了10多秒,错过了时机.而且今天Mi ...

  10. java 进度条 不更新_java 进度条不能刷新解决方案 (已更新一次)

    java期末考试都考完了,实验课却还没完,课程设计也还没开始做,本来打算把最后两次实验尽快做完,然后好好做课设,(我早就想写的坦克大战,过几天写好了,也肯定要整理发布出来).可却被多线程一题给坑了,题 ...

最新文章

  1. Android控件之ImageView探究
  2. “指标预警”新功能上线,智能实现数据监测
  3. Java中boolean类型占用多少个字节
  4. 使用 Fabric 自动化部署 Django 项目
  5. pythonrequests证书_requests的ssl证书验证、身份认证、cert文件证书
  6. 实现算法2.15、2.16的程序(一个数组只生成一个静态链表)
  7. 复杂网络-无标度网络BA模型
  8. java常用开发工具大合集
  9. preview一直不显示,无法和代码同步变化
  10. 电脑鼠标右键菜单太多了怎么办?Windows右键菜单设置删除方法介绍
  11. 计算机程序员带什么手表,程序员只爱格子衫?这些手表程序员也喜欢!
  12. DID会固定年份吗_双重差分方法(DID)解析、影响机制分析与三重差分方法(DDD)...
  13. 通过SnmpWalk获取服务器状态信息
  14. 2020.04.10 【ABAP随笔】- ABAP面试分享
  15. 再说Mdx的字典文件处理
  16. 【知识兔】自学Excel之1:了解Excel 中的基本功能
  17. 【Python】批量修改照片日期和文件名
  18. iToo Software推出Forest Pack 6
  19. Quartz+spring列子
  20. 语音识别:深入理解CTC Loss原理

热门文章

  1. Chrome插件-Dark reader,护眼的黑暗模式浏览器
  2. java开发简历模板下载,技术详细介绍
  3. icem搅拌器网格划分_搅拌器研究所的第六个开放电影项目
  4. iWebOffice2009问题
  5. snmp - 简单网络管理协议
  6. python处理时间序列非平稳_用python做时间序列预测4:平稳/非平稳时间序列
  7. 第九届大唐杯省赛知识梳理-5G协议与信令(20%)
  8. AD工程文件与原理图、PCB文件的储存关系
  9. 虚拟机安装CentOS系统详细步骤。
  10. oracle查询语句查询增加一列内容