各位大哥大姐:
小弟的在界面中设置了一个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) {} } } }
------解决方案--------------------