当前位置: 代码迷 >> J2SE >> 请问一个Jlabel闪动的有关问题
  详细解决方案

请问一个Jlabel闪动的有关问题

热度:145   发布时间:2016-04-24 12:34:48.0
请教一个Jlabel闪动的问题
各位大哥大姐:

  小弟的在界面中设置了一个Jlabel,写了一个代码,声明变量为label

  for(int i=0; i<100,i++){
  label.setText(i+"");
  }

  我想要的效果是在执行这个循环的时候,label的值是中不停的变动,可以我运行的时候却是,突然一下,这个label的值就显示100,得不到那种滚动的从1到100的效果,是不是计算机太快了,如果是太快了,我把这个循环值设置为10000,可是得到的效果还是最初不显示,到循环完成之后才显示这个最后的值,我理想的效果是,就像那种安装程序在安装显示复制文件的那种不停变换的效果,请大家指教下,小弟真诚求教,万分感谢.

Thread.sleep(500); 我让线程sleep也不得

------解决方案--------------------
Java code
   class SetPercent implements Runnable {        private JLabel label = null;        private int percent = 0;        public SetPercent(JLabel label){            this.label = label;        }        @Override        public void run() {            while (percent < 100){                synchronized (this.label){                    this.label.setText(String.valueOf(++percent));                                   }                try {                    Thread.sleep(250);                } catch (InterruptedException ex) {}            }                                }            }
------解决方案--------------------
探讨

请问为什么还是不行呢,我改了下应该不影响,,烦请解答,谢谢

我把程序改成了这样,我在调用时这样调用

for (N n: ns) {
new Thread(new SetPercent(status,"正在生成 :" + n.getName())).start();

}