我有一个程序,它使用一个开关,按钮点击后传递给它的动作事件:
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();
}
}
所有结果都是等待而没有图像,所需的结果是图像闪烁一秒钟。
提前致谢!
答案 0 :(得分:5)
设置图标后,您正在使线程处于睡眠状态,因此无法绘制新图标。睡眠结束后,您立即将图标设置为null。所以你永远不会看到画上的图标。
您可以尝试定期使用javax.swing.Timer
更改图标。