太原百度公司

当前位置:首页 » 百度新闻 » 正文

太原百度公司
太原全网推广http://www.baidusx.cc

太原网络推广:java进度条实现:多线程进度条实现赛马代码

88 人参与  2021年01月18日 11:49  分类 : 百度新闻  点这评论
短视频自媒体,达人种草一站服务

赛马

下周一就要去做java实验了,还记得上一次实验还有一个程序没写完,匆匆交了实验报告的半成品(希望老师没发现www)。为了下周一能有更充裕的时间在实验课写代码,我搜了一下我们学校的实验报告。嘿,宁猜怎么着!还真有16年的实验报告。虽然有点不太一样,但题目大多是相同的,于是我就开始写。

这是有关赛马的一个程序,题目如下:编写一个多线程的控制程序,称为赛马程序。创建分别代表两匹马的两个线程,并将它们设置为高低不同的优先级,并以进度条的形式显示赛马过程。

以下是我经过多方学习写出的代码,希望大佬斧正。

import javax.swing.*;
import java.awt.*;
public class Test
{
  static Thread threadObj1;
  static Thread threadObj2;
  JFrame frame;
  JPanel panel;
  JLabel label1,label2;
  static JLabel label3;
  static JProgressBar progressBar1;
 static JProgressBar progressBar2;
  public static void main(String[] args)
  {
   Test test=new Test();
   test.go();
  threadObj1=new ThreadClass1();
  threadObj2=new ThreadClass2();
  threadObj1.setPriority(6);
  threadObj2.setPriority(4);
  threadObj1.start();
  threadObj2.start();
  }
  void go()
  {
  frame=new JFrame("赛马");
  panel=new JPanel();
  panel.setLayout(new GridLayout(2,2));
  label1=new JLabel("一号马");
  label2=new JLabel("二号马");
  label3=new JLabel("加油!");
  progressBar1 = new JProgressBar(SwingConstants.HORIZONTAL,0,100);
  progressBar1.setStringPainted(true);
  progressBar2 = new JProgressBar(SwingConstants.HORIZONTAL,0,100);
  progressBar2.setStringPainted(true);
  panel.add(label1);
  panel.add(progressBar1);
  panel.add(label2);
  panel.add(progressBar2);
  frame.getContentPane().add(panel,BorderLayout.CENTER);
  frame.getContentPane().add(label3,BorderLayout.SOUTH);
  frame.setSize(300, 100);
  frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  frame.setVisible(true);
  }
}
class ThreadClass1 extends Thread
{
 public void run()
 {
 while(Test.progressBar1.getValue() 100)
 {
 Test.progressBar1.setValue(Test.progressBar1.getValue()+1);
 System.out.println(Test.progressBar1.getValue());
 try{
 Thread.sleep((int)(Math.random()*300+100));
 }catch(InterruptedException e) {}
 }
 if(Test.progressBar1.getValue()==100 Test.progressBar2.getValue()!=100)
 Test.label3.setText("胜利者:1号马!");
 }
}

class ThreadClass2 extends Thread
{
 public void run()
 {
 while(Test.progressBar2.getValue() 100)
 {
 Test.progressBar2.setValue(Test.progressBar2.getValue()+1);
 System.out.println(Test.progressBar2.getValue());
 try{
 Thread.sleep((int)(Math.random()*300+100));
 }catch(InterruptedException e) {}
 }
 if(Test.progressBar2.getValue()==100 Test.progressBar1.getValue()!=100)
 Test.label3.setText("胜利者:2号马!");
 }
}


java进度条代码分享:实现在复制文件时使用

先看被调用的进度条窗体,它不需要手动操作,所以类的内部实现一个方法就可以了。因为设计文件操作,所以要捕获异常。首先根据要复制的文件创建File对象,以及根据复制后文件的保存地址创建File对象,然后创建FileOutputStream对象。


java读取文件显示进度条的代码分享

当读取一个大文件时,一时半会儿无法看到读取结果,就需要显示一个进度条,是程序员明白已经读了多少文件,可以估算读取还需要多少时间,下面的代码可以实现这个功能。


java进度条:控制台输出百分比示例代码

System.out.print(  )会在控制台下往回删掉一个字符,如果你想回删多个字符就打印多个 


简单实用Java上传文件进度条的实现方法

东西很简单,主要用到commons-fileupload,其中有一个progressListener的接口,该接口可以实现实时更新已上传文件的大小,有了这个还说什么呢?


Java如何实现动态显示文件上传进度条

使用request.getContentLength()读取到处理数据的总长度,注意这个长度不等于文件的长度,因为Base64等编码会增加数据量,如果超过了允许的长度,直接返回-1;


VS2019属性管理器没有Microsoft.Cpp.x64.user的解决办法

来源:山西百度公司(微信/QQ号:490801481),转载请保留出处和链接!

本文链接:http://www.baidusx.cc/post/1639.html

太原百度公司 专业网站建站,app开发,手机网站开发18834196600(微信同号)
专业网站建站,app开发,手机网站开发18834196600(微信同号)

本文标签:山西百度公司  山西百度推广  太原百度公司  太原百度推广  百度竞价推广  

微信公众号:QQ490801481 关注1元购买iPhone6!

加入【网络营销联盟】QQ:490801481(加群验证:山西百度公司)

<< 上一篇 下一篇 >>
太原全网营销首选龙采科技http://www.baidusx.cc
太原全网推广http://www.baidusx.cc

  • 评论(0)
  • 赞助本站

太原百度公司

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

首页 | 网络推广 | 网络营销 | 百度信息流 | 百度品牌推广 | 电子商务| 站点地图

Copyright Your WebSite.Some Rights Reserved.
免责声明:本网站部分内容由用户自行上传,如权利人发现存在误传其作品情形,请及时与本站联系。
本站作为技术类博客分享站点,不以营销为目的,如需内容更正请联系站长

客服微信:18834196600点击复制并跳转微信