当前位置:编程学习 > JAVA >>

怎么让jLable依次改变背景颜色?


窗体大致如图 想通过点击按钮后依次改变jLable依次改变背景颜色(中间有停顿感)
我写的代码如下
    private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
        // TODO add your handling code here:
        
        jLabel1.setBackground(Color.yellow);try{Thread.sleep(1000);}catch(Exception e){}
        jLabel2.setBackground(Color.yellow);try{Thread.sleep(1000);}catch(Exception e){}
        jLabel3.setBackground(Color.yellow);try{Thread.sleep(1000);}catch(Exception e){}
        jLabel4.setBackground(Color.yellow);try{Thread.sleep(1000);}catch(Exception e){}
        
    }
但是这样做达不到停顿效果,点击按钮后,程序停顿四个sleep(1000)那么长的时间后,标签的颜色同时改变成了黄色.
感觉就像是方法执行完之后,面板上的标签才响应改变颜色的命令一样
求助!!!!!!!!!!!!!!!
jLable java 标签 改变背景颜色 Sleep --------------------编程问答-------------------- 在线等啊...... --------------------编程问答-------------------- jLabel1.setBackground(Color.yellow);try{Thread.sleep(1000);}catch(Exception e){}
把这些放到线程里面。
--------------------编程问答--------------------
引用 2 楼 AA5279AA 的回复:
jLabel1.setBackground(Color.yellow);try{Thread.sleep(1000);}catch(Exception e){}
把这些放到线程里面。

肯定不行,UI操作必须在事件派遣线程或则其派生的线程中完成
SwingUtilities就是干这个的! --------------------编程问答--------------------
引用 3 楼 jia20003 的回复:
Quote: 引用 2 楼 AA5279AA 的回复:

jLabel1.setBackground(Color.yellow);try{Thread.sleep(1000);}catch(Exception e){}
把这些放到线程里面。

肯定不行,UI操作必须在事件派遣线程或则其派生的线程中完成
SwingUtilities就是干这个的!

你做个例子试一下然后再说。
我这边测试是没问题的。
是可以一个一个变的。 --------------------编程问答-------------------- 最后还是用线程解决的
补充:Java ,  Java相关
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,