精华内容
下载资源
问答
  • 在编写完进度条后,我们有时候会遇到它完全不动的情况,小伙伴们知道是什么原因吗?下面听小编你们讲解讲解。进度条不动可能是因为这个原因,“当应用程序在事件线程中执行长时间的操作时,会阻塞正常的AWT事件处理...

    在编写完进度条后,我们有时候会遇到它完全不动的情况,小伙伴们知道是什么原因吗?下面听小编为你们讲解讲解。

    进度条不动可能是因为这个原因,“当应用程序在事件线程中执行长时间的操作时,会阻塞正常的AWT事件处理,因此阻止了重绘操作的发生”,即API本身就是线程不安全的。造成这个错误的原因,就是在run方法内直接写:

    progressBar.setValue(jd);

    最终修改示例:import java.awt.Color;

    import java.awt.Dimension;

    import java.awt.GridLayout;

    import java.awt.Rectangle;

    import java.awt.event.ActionEvent;

    import java.awt.event.ActionListener;

    import java.io.BufferedInputStream;

    import java.io.BufferedOutputStream;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.io.IOException;

    import javax.swing.JButton;

    import javax.swing.JFileChooser;

    import javax.swing.JFrame;

    import javax.swing.JLabel;

    import javax.swing.JPanel;

    import javax.swing.JProgressBar;

    import javax.swing.JTextField;

    public class Exp10_3 extends JFrame implements Runnable

    {

    boolean b = false; // 线程执行的标志

    int jd = 0; // 当前进度

    long sum = 0; // 当前共复制的长度

    JButton button1 = new JButton("被复制");

    JTextField beCyFile = new JTextField(30);

    JButton button2 = new JButton("复制到");

    JTextField CyToDir = new JTextField(30);

    JButton Start = new JButton("开始复制");

    JLabel label = new JLabel("进度");

    JProgressBar progressBar = new JProgressBar();

    void initUI()

    {

    JPanel top1 = new JPanel();

    JPanel top2 = new JPanel();

    JPanel end = new JPanel();

    top1.add(button1);

    top1.add(beCyFile);

    top2.add(button2);

    top2.add(CyToDir);

    setLayout(new GridLayout(4, 1));

    add(top1);

    add(top2);

    add(Start);

    progressBar.setStringPainted(true); // 设置进度条上字符串可显示

    progressBar.setBackground(Color.GREEN); // 设置进度条颜色

    end.add(label);

    end.add(progressBar);

    add(end);

    button1.addActionListener(new ActionListener()

    {

    // 将选择文件的绝对路径显示到被复制后的文本框内

    @Override

    public void actionPerformed(ActionEvent e)

    {

    JFileChooser fc = new JFileChooser();

    fc.setFileHidingEnabled(false); // 显示隐藏文件

    fc.setMultiSelectionEnabled(false); // 允许多选

    fc.setDialogTitle("请选择要复制的文件");

    if (fc.showOpenDialog(Exp10_3.this) == JFileChooser.APPROVE_OPTION)

    {

    beCyFile.setText(fc.getSelectedFile()

    .getAbsolutePath());

    CyToDir.setText(fc.getSelectedFile()

    .getParent()); // 获取file文件的父目录(强大的API) 自我设定:默认复制到同一目录

    }

    }

    });

    button2.addActionListener(new ActionListener()

    {

    @Override

    public void actionPerformed(ActionEvent e)

    {

    JFileChooser fc = new JFileChooser();

    fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); // 仅仅能选择目录

    fc.setDialogTitle("请选择要复制到的路径");

    if (fc.showOpenDialog(Exp10_3.this) == JFileChooser.APPROVE_OPTION)

    {

    CyToDir.setText(fc.getSelectedFile()

    .getAbsolutePath());

    }

    }

    });

    Start.addActionListener(new ActionListener()

    {

    @Override

    public void actionPerformed(ActionEvent e)

    {

    jd = 0;

    b = true;

    try

    {

    String file1Path = beCyFile.getText();

    File file1 = new File(beCyFile.getText()); // 被复制的文件

    String file2Path = CyToDir.getText() + "\\copy" + file1.getName(); // 复制完后新文件路径名

    File file2 = new File(file2Path); // 新建复制文件

    BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file1Path));

    BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file2Path));

    byte[] be = new byte[1024 * 1024]; // 之前定义为b和boolean重复了 屏蔽了全局标志b

    int len = bis.read(be);

    long sum = 0;

    long file1len = file1.length();

    while (-1 != len)

    {

    bos.write(be, 0, len); // 一次读一个字节数组 换行也会读 不用自动换行了

    bos.flush();

    sum += len;

    jd = (int)(sum * 1.0 / file1len * 100); // 之前没有乘1.0 且多写了一个(int) 导致jd一直是0 最后一次突变100

    len = bis.read(be);

    }

    最后再绘一次

    Dimension d = progressBar.getSize();

    Rectangle rect = new Rectangle(0, 0, d.width, d.height);

    progressBar.setValue(jd);

    progressBar.paintImmediately(rect);

    b = false;

    System.out.println("b=" + b);

    }

    catch (IOException e1)

    {

    e1.printStackTrace();

    }

    }

    });

    Thread t = new Thread(this);

    t.start();

    pack();

    setLocationRelativeTo(null);

    setVisible(true);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    public static void main(String[] args)

    {

    Exp10_3 t = new Exp10_3();

    t.initUI();

    }

    @Override

    public void run()

    {

    while (true)

    {

    if (b)

    {

    //progressBar.setValue(jd);//之前run内就这一行,进度条一直不刷新

    Dimension d = progressBar.getSize();

    Rectangle rect = new Rectangle(0, 0, d.width, d.height);

    progressBar.setValue(jd);

    progressBar.paintImmediately(rect);

    if (jd == 100)

    {

    b = false;

    //System.out.println("run内b=" + b);// 不能写return 此进程不能结束 一直开着

    }

    }

    //System.out.println("我没有结束");//删了此行进度条就又不刷新了

    //第一次改进  上面一行换成下面5行  即输出操作改成停顿1ms

    try

    {

    Thread.sleep(1);

    }

    catch (InterruptedException e)

    {

    e.printStackTrace();

    }

    }

    }

    }

    以上就是本篇文章的所有内容,对于一些java常见问题及解决方法还有不懂的话就来我们网站看看吧。

    推荐阅读:

    展开全文
  • 在Hub下载unity进度条不动,以及闪退

    千次阅读 2020-04-16 16:42:03
    在Hub下载unity进度条不动,以及闪退 笔者刚入unity的坑。工欲善其事必先利其器,然而再装Unity的时候就想说这么多坑怎能就让我遇上了。 2019版以上的unity必须要通过hub打开,hub作为管理器确实用处比较大。但也...

    在Hub下载unity进度条不动,以及闪退

    笔者刚入unity的坑。工欲善其事必先利其器,然而再装Unity的时候就想说这么多坑怎能就让我遇上了。
    2019版以上的unity必须要通过hub打开,hub作为管理器确实用处比较大。但也遇到许多问题:
    在Hub下载unity进度条不动,或者下载到一半时闪退回没有Unity版本的界面。具体原因可能是文件解析失败等等问题。

    下面是笔者从各种 渠道找到的解决方案:
    1.下载模块时,不选择documentation。
    2.直接在官网下载各种版本的安装器,安装好后在导入hub;(但是再添加模块好像不方便,无法直接在hub界面安装)
    3.关掉防火墙,直连网线进行下载;
    4.重装系统安装,注册表什么的太难删除了。
    5.如果以上方法都不行,建议不停地尝试安装,总有一次会成功。(本人安装了12次)

    展开全文
  • 进度条其实,早在计算机发明之前,就已经有了进度条的概念。1896 年,波兰经济学家 Karol Adamiecki发明了一种叫做harmonogram(波兰语,时间表)的图表;同一时间...

    进度条

    其实,早在计算机发明之前,就已经有了进度条的概念。1896 年,波兰经济学家 Karol Adamiecki发明了一种叫做harmonogram(波兰语,时间表)的图表;同一时间,亨利·甘特(Henry Gantt)提出类似的方法并在西方普及。Adamiecki的图表就被叫做为甘特图

    后来,计算机出现,甘特图这个概念后来被用于计算领域。主要用来计算机在处理任务时,实时的,以图片形式显示处理任务的速度,完成度,剩余未完成任务量的大小,和可能需要处理时间等,一般以长方形条状显示。

    人类史上的第一个在计算机中进度条,出现在 Mitchell Model 1979 年的博士论文。Model 使用进度条来表达电脑执行任务的进度,这也是我们现在常看到的进度条。

    计算机领域中引入进度条,主要是通过图形化的形式告知用户计算机正在努力工作中,试想下,如果没有进度条,那么用户就无法之道程序是处理中,还是失去了响应。也无法知道程序处理的大概进展。

    所以,进度条更多的是为了满足用户心理,缓解用户焦虑而设计。

    但是,计算机中显示的进度条其实并不是真正的进度,而是预估出来的。通常的计算方式是:

    操作数量/总操作数量=进度条百分比
    

    比如我们进行文件拷贝,当文件总大小事100M的时候,计算机可以根据已经拷贝的文件大小和时间,预估出文件全部拷贝完需要的总时长,然后就可以根据已用时长和总时长的对比,计算出进度了。

    99%的时候在干什么?

    我们在《如何给女朋友解释什么是P2P?》中其实介绍过,现在的下载软件都是采用P2P技术进行文件下载的。

    在P2P模式下,当我们想要下载一个电影的时候,并不是从一个资源处串行下载的。而是会从多个P2P节点上分别多线程的进行下载,然后再把下载后的资源整合到一起。

    这个过程就像我们组装电脑一样,我们同时从不同的店铺购买不同的电脑配件,然后自己组装电脑。

    但是,我们知道 ,由于受到发货地、发货时间、物流等影响,所有配件的到达时间肯定不是一样的。有一些会先到达,有一些会后到达。

    所以,如果有一些配件先到达的时候,我们就需要继续等到后到达的配件。

    如果我们组装一个电脑需要100个配件,其中99个已经到达了,但是最后一个由于库存原因还未发货,那么,整体电脑组装的进度应该就是99%,并且这个99%的状态还会维持很长一段时间。

    所以,因为采用P2P的下载方式,文件从多个节点下载,由于从各个节点下载的速度不一致,有些节点的资源会相较于其他资源慢一些,就会出现进度卡在99%的情况。

    另外,除了以上这种原因以外,还有一种情况。

    那就是我们已经收到了所有的电脑配件,开始组装的时候,发现其中有一个配件出现了问题,运输过程中有损坏,这时候我们就需要联系商家进行换货。这个过程电脑组装的整体进度也会卡在99%。

    所以,因为资源进行分块下载,在下载的最后阶段,就需要进行组合及校验,而在校验时发现某块出现问题,就需要重新下载。这个过程进度也会一直卡在99%。

    关于作者漫话编程,是一个通过漫画+音频的形式讲解枯燥的编程知识的公众号。致力于让编程变得更有乐趣。

    推荐阅读:

    喜欢我可以给我设为星标哦

    好文章,我 在看 

    展开全文
  • 我的电脑每次用360查杀木马扫描的时候,到其中一个文件的时候都会停住,然后进度条就一直不动,这是中毒了吗以下文字资料是由(历史新知网www.lishixinzhi.com)小编大家搜集整理后发布的内容,让我们赶快一起来看一下...

    我的电脑每次用360查杀木马扫描的时候,到其中一个文件的时候都会停住,然后进度条就一直不动,这是中毒了吗以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    99ccc1f322888ceebf4068701cbc48b2.png

    我的电脑每次用360查杀木马扫描的时候,到其中一个文件的时候都会停住,然后进度条就一直不动,这是中毒了吗

    你好建议使用360系统急救箱修复,然后重新安装最新的360安全卫士,用它查杀处理木马这样就可以正常。

    最近在用360安全卫士查杀木马的时候每次在扫描到GdiPlus.dll这个文件的时候就查不动了,为什么?

    GdiPlus.dll。应该是插件系统把..可能比较多 扫描的慢 有些情况下 全盘扫描要用我2个小时

    开机的时候蓝屏扫描。但是每次要扫描的时候,都会停住。

    建议修复一下你的磁盘

    1)这是系统在扫描你的硬盘,可能是你自己操作的问题,如果你非法关机,直接断电或者直接按电源关电,电脑开机的时候会对你的硬件做检查,包括你的硬盘。

    还有就是你的电脑真的硬盘有问题了,建议你使用电脑自己带的磁盘扫描工具进行扫描修复,如果比较严重用下面软件进行修复(如果这次扫描后下次不在扫描就是正常扫描,如果开机总是扫描硬盘请看下面,由其按下面方法修复一下磁盘试试)。

    2)如果也没有非法关机,硬盘也没有问题,开机还是扫描,可以用下面的方法去掉系统扫描硬盘:

    单击“开始/运行”,输入“regedit”回车打开注册表编辑器,依次选择“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager”子键,然后在右侧窗口中找到“BootExecute”键值项并将其数值数据清空,重启即可(清空前选文件导出进行备份,这样如果需要在恢复备份)。

    系统自带的磁盘修复方法(如果磁盘真有问题,用这个方法修复一下):

    具体步骤如下(以Windows XP为例),在我的电脑中选中盘符后单击鼠标右键,在弹出的驱动器属性窗口中依次选择 “工具→开始检查”并选择“自动修复文件系统错误”和“扫描并恢复坏扇区”,然后点击开始,扫描时间会因磁盘容量及扫描选项的不同而有所差异。

    硬盘坏道将导致电脑系统文件损坏或丢失,电脑无法启动或死机。硬盘坏道可以采用NDD磁盘工具或Scandisk来修复。

    还解决不了问题,还原一下系统或重装系统,在不行格式化整个硬盘,重新分区重装。

    我的电脑扫描垃圾和查杀木马的时候老是重启或关机为什么.

    你的计算机被侵入,这是病毒/木马的自我保护措施,建议在安全模式下进行木马查杀。

    如果安全模式被恶意破坏或者你用的是360,要么用应急U盘,要么重装系统。

    当杀毒软件扫描到C盘其中一个文件的时候电脑就定死了,是什么原因?

    格式化c盘,再装系统还不行吗?

    没道理的。

    因为装诺顿的时候,它写入注册表了,所以,估计删除时不行的。

    我看你的那个杀毒软件也不是很高级么,呵呵。

    我每次查杀木马的时候,都有2个被感染文件,?杀毒软件都会提示隔离并删除

    你看一下是在哪里,是什么文件,自己手动删除不就行了吗? 这个可能是网络病毒,你可以用金山试一下! 如果实在不行,你就重装系统,这是最狠的一招,但是重装完了,先不要联网,先安装杀毒软件,全盘杀一下,然后再联网! 祝你好运!

    希望采纳

    为什么我在用一体机扫描文件到电脑上的时候扫描进度条总是显示零,然后就会卡住不动了

    首先需正确安装驱动程序,WIN7等系统支持大多数打印一体机(比如兄弟牌),连接打印机后可自动识别。XP系统需使用打印机配套的驱动光盘(或下载驱动),安装打印及扫描仪驱动,使电脑可以识别并驱动扫描设备。安装驱动后,选择打印一体机的扫描仪功能,在电脑启动扫描程序,扫描仪软件界面设置扫描分辨率,如果分辨率设置太高,扫描速度会非常缓慢,如果设置了系统或硬件不能支持的参数,扫描仪可能无法正常工作。

    诺顿2009杀毒软件为什么扫描文件的时候老是扫描到一个文件的时候停止不动了呢?

    那应该是因为扫描到了压缩文件才会遇到的情况,下次查看下是停在哪个文件上,找到那个文件,将它转移到移动U盘上,然后再进行查杀。因为有的压缩文件层数过多,或是大于2G都会影响到查杀的

    我用360杀毒的时候,扫描到一个C盘/progra~1/Tencent/QQUpadate/myat.cmd的时候,就一直扫描,不会停止

    那就别扫描他了 现在360和QQ在打架 所以用户就成了他们的战斗平台了

    我的电脑中毒以后,下载电脑管家及360查杀木马,病毒清除以后,每次启动电脑使用电脑管家查杀木马都显示

    需要在安全模式下,

    全盘查杀。

    不在安全模式下,可能弄不干净,

    不全盘查杀,病毒可能藏在其它盘或者经常使用的程序里。

    分页:123

    展开全文
  • Maven 下载jar包时进度条长时间不动

    千次阅读 2017-08-07 16:49:55
    最近工作的时候,博主遇到了很奇怪的问题。  博主所在的公司最近有个项目是采用maven+springMVC架构搭设的,拿到项目后,一路checkout,导入idea,配置maven,设置本地库下来,都没碰到什么问题。在进行build时,...
  • 光想着有什么背景知识自己知道所以才出错,很多时候有问题可能自己对背景知识一清二楚,都是对问题的仔细分析才定位出问题所在。解决问题能光靠经验和感觉,更要有系统的分析和思考,进一步才是对问题的归纳...
  • 在Win10系统中,有用户反应再应用商店安装QQ或者其他应用软件的时候安装进度不动卡主的现象,导致无法正常的安装应用程序该...下面小编就详细的大家介绍Win10系统应用商店无法安装应用安装进度条卡住不动的解决方法。
  • 进度条其实,早在计算机发明之前,就已经有了进度条的概念。1896 年,波兰经济学家 Karol Adamiecki发明了一种叫做harmonogram(波兰语,时间表)的图表;同一时间,亨利·甘特(Henry Gantt)提出类似的方法并在西方...
  • 有Win10用户发现在进行Windows更新时,下载更新进度一直停留在0%不动,这时候你可以试试如下方法来解决正在下载更新卡在0%不动的问题。方法一:运行Windows更新疑难解答进入“Windows设置 -更新和安全 -疑难解答”,...
  • 二、你的IIS安装包是从网上下载的,可能完整或损坏。 三、系统某些服务禁用了,导致DCOM错误。 说这么些都没用,能重装系统吧,解决办法如下,不用重装,立刻可用。 1、在开始,运行里输入 regsvr32 %...
  • Swift动画 —— 进度条

    2021-10-08 16:27:11
    这里先创建一个路径,把圆的中心放在视图的中心,半径设100,然后设置起始角度和结束角度,并将clockwise设true。然后将shapeLayer的路径设刚才创建的路径,最后将shapeLayer添加到view的layer的sublayer中。 ...
  • Vue给项目添加进度条

    2021-01-08 03:46:07
    前言   在PC端项目的开发过程中,有时我们需要给项目添加...展示进度条,我选择的时间是发送request请求的时候展示(因为我的界面使用了created钩子函数去获得后端的数据,也可以写在路由跳转之前展示) axios.interc
  • 下载进度条演示文件大小未知长度已经下载0完成进度0%//文件长度var filesize=0;function $(obj) {return document.getElementById(obj);}//设置文件长度function setFileSize(fsize) {filesize=fsize;$("filesize")....
  • 如图,反正是不断重复 进行下载验证 但是就是没有安装,感谢这个博主的解决记录:win10 无法安装VS2017,visual studio installer下载进度始终0。 所以我也去查自己的log日志了, 证书无效, 在浏览器中输入:...
  • 今天在安装qt-vs-addin-1.2.2-opensource时 ,安装到一半 进度条不动了 在此等了很久。 最后不得强行中止它 ,再次点击安装时出现了 如下情况 此时的解决方法是 将qt-vs-addin... 的注册表删除。 在此 我的...
  • win10cf进度条不动

    2021-08-14 07:37:21
    玩cf 进度条不动一直未响应CF那个进度条读取卡住原因有很多,但大多数是两点抄你掉线了,等N久之后就会有个对话框给你退出电脑配置不行。要看配置推荐你下个鲁大师吧。bai我的老爷机就是du配置不行连CF服务器都进...
  • 安装mongodb时为什么一直卡着不动

    万次阅读 2018-03-01 20:06:21
    安装mongodb时,最后一步,一直卡着不动是因为到最后一步时,左下角的勾勾没有去掉,mongodb compass是图形化管理界面,下载它需要很久很久,还有可能一直下来,所以把勾去掉就能马上安装好。...
  • QT 带有动画的 圆形进度条 水波进度条

    千次阅读 多人点赞 2019-07-29 18:18:23
    我们在使用其他软件的时候,经常能看到各种绚丽的进度条,其中带有水波波纹的进度条就是其中一个。对于PC端软件开发使用的QT,只是提供了process bar,样式十分单一。 所以这次我们就使用QT的paint 以及定时器来实现...
  • 如何在window上安装TensorFlow这里我就赘述了,太多的教程了,在我安装的时候,老是出现这么一个问题,明明已经开始下载了,突然进度条不动了,然后一堆乱七八糟的报错。 着实有点让人无语了,看其他的人教程...
  • 一个主要问题是动画的滞后性:当下载进度到某个点的时候,你再用250ms的动画过渡过去,这个时候已经慢了,所以很多人可能因为这个原因或者嫌麻烦,直接就做动画了,在进度事件触发的时候直接更新进度条相应的位置...
  • SQL Server 下载安装及使用下载及安装SQLServer下载过程中需要注意的 必须要取消勾选的你第一次安装顺利的话就没什么 但是二次安装一般都会遇到SQL server 2017使用教程 下载及安装SQLServer 一、 下载及安装SQL...
  • 2、和平精英更新卡了:部分ios用户更新和平精英最新版本的时候,发现点击没有反应或者更新了。解决方法:可以尝试,进入App Store,在和平精英应用界面进行更新。而不是直接在游戏内更新。大家点击进入App St...
  • Visual Studio 2019中的安装问题详细解决方法前言安装地址下载网址问题解决1、连接热点2、改DNS 前言 因为最近要学习C++和C#,所以在寻找了很多编程软件后,感觉Visual Studio 2019应该是目前蛮好用的编程软件,不仅...
  • 有一个下载管理器,在下载时候能得到进度条,我要怎么把进度条传到另一个Activity, 当另一个Activity打开的时候能得到从mainActivity中得到进度条,并且动态改变进度条 可能会有多个下载任务 !!!!!!!!!...
  • web前端动态添加进度条

    千次阅读 2017-10-06 11:52:24
    为了网络延迟加载或者为了防止提交后重复点击提交按钮,比较好的方式就是显示一个比较优雅的进度条 源码如下:<!DOCTYPE html> 进度条 *{ padding: 0;
  • 下载visual_studio_community_2017_version_15.3.exe后点击运行,引导安装进度条为0,之后提示网络未连接。 解决方法: 尝试用浏览器解析域名aka.ms,浏览器报错DNS_PROBE_FINISHED_NXDMAIN,说明连接有问题,只需要...
  • 内容介绍热点排行相关文章下载地址↓在网页设计中,想必一个精彩的进度条将会你的网站增添不少的精彩,一个好的网页设计往往体现在一些小的细节上面,细节决定了成功与否。在此之前也大家分享了一些关于进度条的...
  • 内容索引:Flash源码,其它应用,loading,进度条 超多Flash Loading动画... Flash的时候,用于制作载入动画用的素材,主要以圆形Loading动画主,截图是静态的,实际上那些动画是很有动感效果的,想体验的就下载吧。
  • 根据日志可知,下载这个资源 https://aka.ms/vs/16/release/installer 时出了问题,无法连接到远程服务器,我们可以用任意一个浏览器直接打开这个 https://aka.ms/vs/16/release/installer,应该也是无法访问,aka....
  • 1.所以我们不得把它拆分2个形状:圆环与圆. 2.如何实现渐变 3.如何实现动画的效果 4.测量及自适应圆形进度条View的宽高 5.下载进度不会匀速到100%,相册下载进度 6.如何添加手动拖动进度 7.onSizeChanged ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,909
精华内容 6,763
关键字:

为什么下载的时候进度条不动