当前位置:编程学习 > JAVA >>

制作进度条时,遇到的一个小问题!急啊~~~~~高手们快点帮忙啊

由于数据处理时间有点长,我加了一个进度条,但是我进度条已经显示完成了,但是后台的数据处理还没完成,
 这段代码就是进度条显示的时间
public void run()
            {
                int index = 0;
                while(index <5)
                {
                    try
                    {
                       sleep(1000);  
                        ++index;
                    }
                    catch(Exception e)
                    {
                        e.printStackTrace();
                    }
                }
            }
只要把5改成后台处理数据的时间就可以了,但是我不知道怎么得到后台的处理时间! --------------------编程问答-------------------- 晕,后台的业务是你们开发的吗?
是的话,你不知道我们就更不知道啦。。。

一般进度条都是
先取得要处理的数据量或时间
然后分成N分。
然后每处理1分后,进度+(100/N)

最后+到100,超过100也算100.
--------------------编程问答-------------------- 启用线程了吗?
首先要把你后台运行的程序代码封装到一个线程当中运行,暂称为业务线程。
然后你的进度条线程(可以用Timer().schedule定时去检测)去监督这个线程,根据业务线程的isAlive()方法判断是否结束,如果结束进度条就变成100%。
如果你的后台线程是有规律的循环代码,即可以量化进度,你还可以然业务线程和你的进度条线程通信,已到达量化从1%到100%的进度条显示,用户体验更好,更精确。
--------------------编程问答--------------------
引用 2 楼  的回复:
启用线程了吗?
首先要把你后台运行的程序代码封装到一个线程当中运行,暂称为业务线程。
然后你的进度条线程(可以用Timer().schedule定时去检测)去监督这个线程,根据业务线程的isAlive()方法判断是否结束,如果结束进度条就变成100%。
如果你的后台线程是有规律的循环代码,即可以量化进度,你还可以然业务线程和你的进度条线程通信,已到达量化从1%到100%的进度条显示,用户体验……

要怎么将后台的运行的程序封装到一个线程当中运行啊 --------------------编程问答--------------------
引用 2 楼  的回复:
启用线程了吗?
首先要把你后台运行的程序代码封装到一个线程当中运行,暂称为业务线程。
然后你的进度条线程(可以用Timer().schedule定时去检测)去监督这个线程,根据业务线程的isAlive()方法判断是否结束,如果结束进度条就变成100%。
如果你的后台线程是有规律的循环代码,即可以量化进度,你还可以然业务线程和你的进度条线程通信,已到达量化从1%到100%的进度条显示,用户体验……

要怎么将后台的运行的程序封装到一个线程当中运行啊 --------------------编程问答-------------------- 把关键代码封装成一个方法,然后在新建一个thread类,在线程类里的run方法中调用这个方法。
然后new thread().start();

建议你百度一下java进度条会有收获。
补充:Java ,  Java相关
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,