来回切换Java Button图像?

时间:2011-10-25 13:53:15

标签: java image swing icons jbutton

我有一个程序,它使用一个开关,按钮点击后传递给它的动作事件:

public void buttonImageReveal(ActionEvent e){

    String temp = e.getActionCommand();

    switch(temp){

        case "1":
        ((JButton)e.getSource()).setIcon(one);
        delay();
        ((JButton)e.getSource()).setIcon(null);
        break;

延迟只是对等待1秒钟的函数的调用:

 public void delay(){
        try
        {
            Thread.sleep(1000); 
        }
            catch(InterruptedException e1)
        {
            e1.printStackTrace();
        }
    }

所有结果都是等待而没有图像,所需的结果是图像闪烁一秒钟。

提前致谢!

1 个答案:

答案 0 :(得分:5)

设置图标后,您正在使线程处于睡眠状态,因此无法绘制新图标。睡眠结束后,您立即将图标设置为null。所以你永远不会看到画上的图标。

您可以尝试定期使用javax.swing.Timer更改图标。