java - 使用 mvvm 时如何在 zk 中更新进度表

标签 java progress-bar zk server-push zul

    @GlobalCommand
    @Command
    @NotifyChange("*")
    public void makeProgress(){
        int progress = getProgress();
        if(progress == 100){
            return;
        }
        progress++;
            Thread.sleep(100); // do some part of time consuming work

        setProgress(progress);

        BindUtils.postGlobalCommand(null, null, "makeProgress", null);
    }

祖尔

<window apply="org.zkoss.bind.BindComposer"
    viewModel="@id('vm') @init('com.javaBean')">
        <progressmeter value="@bind(vm.progress)" width="300px" />
        <button onClick="@command('makeProgress')"></button>
</window>

我想让用户了解已完成工作的百分比。 (我正在使用 mvvm 模型)
所以我创建了一个值为 bind 的 progressmeter
和一个 button ,当点击开始这个过程。
makeProgress() 中,我做了一些工作并发布了一个命令。

我希望它显示进度条每 100 毫秒递增 1。 但是当我尝试它时,进度条在 10 秒(100 毫秒等待 * 100)后直接显示 100%。

我错过了什么?

或者有更好的方法来做到这一点?

最佳答案

不确定是否有效。如果您需要进度条自动更新,您可能必须使用 SelectorComposer 而不是 BindComposer。 SelectComposer 可以将数据推送到客户端。您可以让计时器运行@interval 并不断更新数据。

关于java - 使用 mvvm 时如何在 zk 中更新进度表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20065391/

相关文章:

java - 我的登录/索引 zul 页面加载了两次,因为我只调用了一次

java - 是否可以在 spring boot 中禁用另一个自动配置类的自动配置类?

java - 具有重复依赖项的可运行 JAR

javascript - 根据上面的文字设置进度条的高度

c# winform 后台 worker 和进度条

zk - 自定义 ZK 图表中的特定列

java - Java 8 的 Oracle JVM 中物理存储的 'tz' 时区数据库在哪里?

java - Spring Boot 应用程序 : Could not resolve placeholder in application. 属性?

android - 将进度条与计时器同步

javascript - Internet Explorer 重新加载 IFrame