当前位置: 首页 > 面试题库 >

Java JProgressBar没有进展

隆康平
2023-03-14
问题内容

所以我试图做一个下载器,用进度条显示下载进度。但是我遇到了问题,因为它实际上没有更新进度条。当它本来是蓝色时,基本上保持白色。如果有人可以帮助,则下面的代码

JProgressBar progressBar = new JProgressBar(0, ia);
con.add(progressBar, BorderLayout.PAGE_START);
con.validate();
con.repaint();
progressBar = new JProgressBar(0, ia);
progressBar.setValue(0);
System.out.print("Downloading Files");
while ((count = in.read(data, 0, downloadSpeed)) != -1){
    fout.write(data, 0, count);
    if (count >= 2){
        progressBar.setString("Downloading : " + ia + " @ " + count + "Kbs per second");
    } else {
        progressBar.setString("Downloading : " + ia + " @ " + count + "Kb per second");
    }
    progressBar.setValue(count);
    con.add(progressBar, BorderLayout.PAGE_START);
    try{
        Thread.sleep(1000);
    } catch (Exception e){}
}

问题答案:

1个

与SwingWorker结合使用。在此处查看示例: SwingWorker和进度栏

@气垫船:你是对的。请允许我参考相应的JavaDoc SwingWorker页面,我认为这是最好的解释情况。



 类似资料:
  • 首先,我想道歉,因为我不允许发布太多代码,因为这是一个大学项目,但我真的被卡住了。 我正在尝试使用CIFAR-10数据集和TensorFlow,使用以下模型来训练ConvNet: 图片:[32,32,3] conv1: 5,5,3,64偏置[64](初始化为0.0) 规范1:depth_radis=4,偏差=1.0,alpha=0.001/9.0,beta=0.75 pool1:ksize=[1,

  • 问题内容: 我在使用Elasticsearch查询时遇到问题。我希望能够对结果进行排序,但是elasticsearch忽略了排序标签。这是我的查询: 但是,当我删除查询部分并仅发送排序标签时,它就可以工作。谁能指出正确的方法? 我还尝试了以下查询,这是我所拥有的完整查询: 设定值 对应 提前致谢! 问题答案: 文档中的 “标题” 字段是一个 分析的 字符串字段,也是一个多值字段,这意味着Elast

  • 问题内容: 我想获取某个Java进程的堆转储(可能的内存泄漏)。但是,当我启动jvisualvm工具时,看不到任何正在运行的Java进程。 我已经在Google上搜索了有关此内容,并且已经找到了几篇文章,说您必须使用启动jvisualvm工具时所使用的同一JDK运行Java进程,以便它能够看到它们。但是,据我所知,情况已经如此。我正在本地做所有事情(我可以​​远程访问机器)。 需要考虑的几件事:

  • 我想运行node。js作为子流程,并向其提供输入。使用C,下面是我的一些示例代码。 我遇到的问题是,尽管子进程的stdout仍然指向终端,但在向子进程stdin输入打印的“helloworld”行后,我什么也看不到。即使我对管道进行了fflush()操作,我也看不到任何输出。但是,如果关闭管道的输入,则“Hello World”将显示在终端上。 子流程似乎只是缓冲-为什么?我希望最终将子流程std

  • 我希望修改 VS Code 的缩进行为,以便在键入如下行后按 Enter 键: 它将缩进到左括号的级别,这样我就可以轻松地将代码格式化如下: 我希望它也适用于开放方括号和花括号: 我希望我使用的几乎所有语言都有这种行为,尽管在C或C#中使用大括号行为是不必要的(甚至可能是不可取的)。 这与Sublime文本的设置非常相似。 有什么办法可以做到这一点?如果没有设定,我愿意做任何必要的修改。我也乐于接