2014-09-12 85 views
0

我想使用netbeans开发模拟器。所以我选择插入sort.i那里我需要在运行代码时更改jlabel背景颜色。这意味着我想在运行代码时逐行着色。对于这种情况,我使用下面的代码段。有更多的代码。但我只提到relavent part.how我改变jlabel颜色! (j = 1; j < 7; j ++){ sleep();如何在NetBeans中运行代码时更改jlabel背景颜色

 key = numArray[j]; 
     jLabel11Algo2.setBackground(Color.red); 

     sleep(); 
     jLabel11Algo2.setBackground(Color.white); 

     System.out.println(key); 

回答

1

首先,你需要使标签不透明所以它的背景将被漆成:

label.setOpaque(true); 

其次做你的动画,你需要使用一个Swing Timer做动画,没有了Thread.sleep( )。

您不能使用Thread.sleep(),因为这会导致事件调度线程进入睡眠状态,这意味着GUI无法重新绘制自己。请阅读Swing教程Concurrency中的部分以获取更多信息。

+0

thanks.i'll试试:) – c601 2014-09-13 05:52:25

+0

你能帮我解决这个问题吗?因为我与它斗争 – c601 2014-09-13 11:06:31