我最近在做一个文件处理软件,设置了一个进度条来显示大文件处理的进度。目前遇到以下问题向各位请教:
1.JProgressBar如何动态显示。我想达到这样的效果:处理文件前进度条不可见,点击处理文件的按钮时显示进度条,处理结束后进度条消失。我是这样写的:
//进度条所在窗体的构造方法里
JProgressBar jProgressBar=new JProgressBar();
jpb.setVisible(false);
//按钮所对应的接口方法里
jProgressBar.setStringPainted(true);
jProgressBar.setString("处理中,请稍候...");
jProgressBar.setIndeterminate(true);//使用未知进度条
jProgressBar.setVisible(true);
.......//若干部其它操作(这些操作都是正确的)
jProgressBar.setVisible(false);
上面代码的实际执行情况在点击按钮后根本不显示进度条,我尝试在点击按钮前就显示进度条,其它条件不变,但是在处理过程中并不显示未知进度条的动画。要达到我上面的效果应该怎样做呢?
2.如何得到一个处理过程的总进度,JDK里提供了一个直接针对数据输入输出流的百分比进度条,但是那个只能用于一个流,我现在有多个流和其他操作,我想把这几个流的处理过程连同其他操作作为这个进度条所表示的一个事件,我想的是把每个操作当做一个单元,因为总的操作个数我是知道的,每完成一个操作就把对应的一个标志标量+1,当标志的值达到总操作个数的值时就不显示进度条,这钟想法合理吗?