当前位置: 首页 > 知识库问答 >
问题:

JavaFX ProgressBar不会重置

冯德佑
2023-03-14

我正在制作一个程序来修补一些文件,我想用一个ProgressBar作为进度指示器,但是进度条保持完全满的状态,完成后不会重置。这是更新它的方法。

for(int i = 0; i < paths.getItemCount(); i++)
{       
     current_progress += 0.02; 
     System.out.println("verifiing: " +paths.getItems()[i] );
     File bugger = new File(paths.getItems()[i]);

     File dst = new File(starmade_path + "\\data\\image-resource\\ " +  names.getItems()[i] );
     Files.copy(bugger.toPath(), dst.toPath(), REPLACE_EXISTING, COPY_ATTRIBUTES, NOFOLLOW_LINKS);
     ProgressBar.setProgress(current_progress);  
}

我已经试过了

for(int i = 0; i < paths.getItemCount(); i++)
{        
    current_progress += 0.02; 
    System.out.println("verifiing: " +paths.getItems()[i] );
    File bugger = new File(paths.getItems()[i]);

    File dst = new File(starmade_path + "\\data\\image-resource\\ " +  names.getItems()[i] );
    Files.copy(bugger.toPath(), dst.toPath(), REPLACE_EXISTING, COPY_ATTRIBUTES, NOFOLLOW_LINKS);
    ProgressBar.setProgress(current_progress);  
}

ProgressBar.setProgress(0);

但当我使用它时,它根本不会显示任何进展<代码>线程。sleep()也不行。

共有1个答案

夔博
2023-03-14
  1. 不要编写这样的代码'ProgressBar.set进步',这个语法应该保留给使用类的静态调用。

让你的对象喜欢

ProgressBar progressBar = new ProgressBar();

@FXML
ProgressBar progressBar;

2.这个循环有效

float current_progress = 0f;     
for(int i = 0; i < 10; i++)  {
            current_progress += 0.02;
            progressBar.setProgress(current_progress);
        }

并且进度条进展到宽度的20%,因此您的代码在语法上是正确的,可能问题是paths.getItemCount()max值太小,无法看到一些有意义的进展,请检查您的输出是否为“验证:”paths.getItems()[i]

 类似资料:
  • 我觉得这很奇怪,我试图通过按F5来测试我用IDLE编写的脚本,但什么也没发生(甚至没有错误)。在运行时窗口中,根本没有。我可以直接执行命令,但运行时似乎根本没有加载我的脚本。我担心我的文件太长,无法在这里发布,但有人知道是什么阻止Python运行时加载我的脚本吗?顺便说一句:其他文件是作为用途加载的。

  • 问题内容: //现在,我想稍后再引用InputStream,但我希望从流的开头而不是100字节开始。我尝试在100处尝试,然后在读取前100个字节后尝试了此操作,但这并没有要么工作。 有任何想法吗?可能是一个愚蠢的错误..只是没有看到它。 问题答案: 当您使用的的的java.io.InputStream对象,你应该与检查方法,如果你的InputStream实际上支持使用标记。根据API,该类不是,

  • 问题内容: 我的页面上有一个表单,当我调用它时,将forms类设置为,但仍然返回true。我在这里做错了什么? 模板 零件 问题答案: 它()行为正确。您的表单需要用户名和密码,因此,当您重置表单时,该表单应该无效(即,没有用户名/密码的表单无效)。 如果我理解正确,那么这里的问题就是为什么在您第一次加载页面(表单也是无效的)时并没有出现红色错误,而是在您单击按钮时弹出了红色错误。当您使用Mate

  • 从我所读到的一切来看,它应该是可行的,但是以下几点: 在…内 不工作。与应用程序加载类似,但使用的是recyclingView\u Main。adapter=MainAdapter()似乎未运行。 完整代码: 正如您从上面的代码中看到的,当我将其放在onCreate中时,它工作得很好。 因此,问题似乎是将其发送到主线程。 XML

  • 我有一个名为BigPanel的JPanel子类作为JFrame的内容窗格,在BigPanel对象中有一个嵌套的JPanel子类。单击按钮,嵌套面板应该从一个JPanel子类更改为另一个。嵌套面板没有重置,正确的子类将打印到控制台,但实际面板不会更新包com.grantbroadwater;

  • 问题内容: 我正在使用CSS着色器+动画。我的着色器类定义如下: 我正在尝试使用jQuery通过和动态设置/取消设置样式(shader + animation) 但是,奇怪的是,当我重置类时(例如,在removeClass之后调用addClass),仅重新应用了着色器,而没有应用动画(我已钩住AnimationStart事件以查看动画何时开始)。有人知道为什么会这样吗,我该如何解决? 编辑:我在这