来回切换Java Button图像?

Jam*_* MV 1 java icons swing image 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;
Run Code Online (Sandbox Code Playgroud)

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

 public void delay(){
        try
        {
            Thread.sleep(1000); 
        }
            catch(InterruptedException e1)
        {
            e1.printStackTrace();
        }
    }
Run Code Online (Sandbox Code Playgroud)

所有结果都是等待而没有图像,期望的结果是图像闪烁一秒钟.

提前致谢!

Ash*_*Jha 5

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

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