制作进度条时,遇到的一个小问题!急啊~~~~~高手们快点帮忙啊
由于数据处理时间有点长,我加了一个进度条,但是我进度条已经显示完成了,但是后台的数据处理还没完成,这段代码就是进度条显示的时间
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%的进度条显示,用户体验更好,更精确。
--------------------编程问答--------------------
要怎么将后台的运行的程序封装到一个线程当中运行啊 --------------------编程问答--------------------
要怎么将后台的运行的程序封装到一个线程当中运行啊 --------------------编程问答-------------------- 把关键代码封装成一个方法,然后在新建一个thread类,在线程类里的run方法中调用这个方法。
然后new thread().start();
建议你百度一下java进度条会有收获。
补充:Java , Java相关