Java 使用进度条和百分比反映复制过程

Java 使用进度条和百分比反映复制过程,java,server,copy,progress,zk,Java,Server,Copy,Progress,Zk,我正在使用ZK freamework 我正在准备一个项目,它将数据从一台服务器复制到另一台服务器。直到最后的项目工作良好,甚至这是按照我的期望做的工作。我想显示一个带有数据复制进程百分比的进程条。我正在使用ZK框架、javaspring和Mysql 我的要求是在zk框架中显示完成复制的百分比和进度条。请帮我解决这个问题 提前谢谢 for(long j=1;j<=rowCount;j++){ sum = sum + j/rowCount; if(j==ro

我正在使用
ZK freamework

我正在准备一个项目,它将数据从一台服务器复制到另一台服务器。直到最后的项目工作良好,甚至这是按照我的期望做的工作。我想显示一个带有数据复制进程百分比的进程条。我正在使用
ZK框架
、javaspring和Mysql

我的要求是在
zk框架
中显示完成复制的
百分比和进度条。请帮我解决这个问题

提前谢谢

for(long j=1;j<=rowCount;j++){          
    sum = sum + j/rowCount;
    if(j==rowCount){                
    sum=100;
}   
progressMeter.setValue(sum);            
countLabel.setValue((rowCount-1)+" Rows are inserted");
BindUtils.postNotifyChange(null, null, countLabel, "_value");

for(longj=1;j在ZK框架中,您需要使用Progressmeter组件。
在example.zul中,需要添加以下代码:

 <progressmeter id="uploadProgress" value="0" width="300px" />

在项目类中,您需要更新此组件的值

    public class ProgressmeterController extends SelectorComposer<Hlayout> {
    @Wire
    private Progressmeter uploadProgress;

    @Wire
    private Timer timer;

    @Listen("onTimer = #timer")
    public void fetchingSimulatorTimer() {
        //calculate completed percent
        uploadProgress.setValue(percent);
        }
}
公共类ProgressmeterController扩展选择器或编译器{
@电线
私人进度表上传进度;
@电线
私人定时器;
@听(“onTimer=#timer”)
public void fetchingSimulatorTimer(){
//计算完成百分比
uploadProgress.setValue(百分比);
}
}
在我的评论旁边,
我想给大家介绍一下罗伯特·温泽尔的一个简短谈话。

他编写了一些代码来简化长时间的操作,并使屏幕的更新更容易


查看它,也许你可以在你的应用程序中使用它。

@MouseEvent谢谢你的回复。我对这类任务很陌生。你能给我提供一些参考链接吗。谢谢,我也是这样做的。但问题是进度条更新不慢。突然,完成任务后需要100%的时间对代码sum=sum+进行注释100/rowCount;我认为您需要使用这样的sum+=j/rowCount;@vijaykarci如果您直接转到100%,那么您的长操作将在1次执行中完成。您需要将操作移动到一个单独的线程。随着计时器的滴答声,只需搜索您的进度并更新它。@chillworld谢谢,您可以提供代码吗snippet@VijayK阿奇:看看下面我的答案,使用这个机制和他的代码来实现你的目标