Java 如何在for循环中使用gif?
我正在构建一个内存匹配游戏,在ActionListener中,我想在打开一个块之前实现一个动画gif,但gif永远不会显示,我假设它会重置;我该如何解决这个问题Java 如何在for循环中使用gif?,java,jbutton,actionlistener,Java,Jbutton,Actionlistener,我正在构建一个内存匹配游戏,在ActionListener中,我想在打开一个块之前实现一个动画gif,但gif永远不会显示,我假设它会重置;我该如何解决这个问题 for(int i = 0; i< buttonNum; i++) { if(e.getSource() == button[i]) { try { URL blockIcon = this.getClass().getClassLoad
for(int i = 0; i< buttonNum; i++)
{
if(e.getSource() == button[i])
{
try
{
URL blockIcon = this.getClass().getClassLoader().getResource(block[i].toString());
//sets it to the gif
button[i].setIcon(uncoverBlock);
Thread.sleep(5000);
button[i].setIcon(new ImageIcon(blockIcon));
System.out.println("Block: " + block[i]);
currentIndex = i;
}
catch(InterruptedException ie)
{
ie.printStackTrace();
}
}
}
for(int i=0;i
你有一个线程。在这里睡觉是一个危险信号。在UI线程上渲染时,不应使用睡眠。相反,你应该使用一个Swing定时器。另请参阅,事实上你有一个线程。在这里睡眠是一个危险信号。在UI线程上渲染时,不应使用睡眠。相反,您应该使用摆动计时器。另请参见和