关于线程的问题
java写的歌词显示,一个panel,画出歌词,run里有两个功能,一个是重画,让歌词动起来,一个是每秒获得一个歌词的句子让歌词光亮,但是有的时候歌词慢了,高亮会到下面去了,看不见了,我想把重画睡眠的时间根据歌词的长短和播放时间而定,但是这样的话,获得时间可能就有误差,可能有的高亮就没有了,有什么办法解决?
如果这样while(true){
repaint();
sleep(2000);
getcurrent();
sleep(1000);
}
不知道这样子行不行?
[解决办法]
因为程序要运行,需要时间,所以那个sleep并不能那么准。
建议你采用定时器操作。
歌词都有开始的时间的,让定时器在那个时间开始重画比较合理!(最好提前0.01秒)呵呵!
定时器,Java自己有 Timer,第三方的Quartz 也不错,推荐使用!