我正在制作扑克计划来对抗电脑。我需要给计算机播放器的手一个动画来返回它不需要的卡片,所以我试图使用一个Timer对象暂时移动计算机的卡片图像以显示它们正在被替换。
timer1.schedule(new TimerTask() {
@Override
public void run() {
for (int j = cp.getHand().size() - 1; j >= 0; j--) {
if (cp.getHand().get(j).isSelected()) {
deck.addCard(cp.getHand().set(j, deck.randomCard()));
cpCards[j].setLocation(CPWIDTHS[j], CPHEIGHT - 25);
}
}
}
}, 2000);
System.out.println(cp.getHand().size());
for (int j = 0; j < cp.getHand().size(); j++)
cpCards[j].setLocation(CPWIDTHS[j], CPHEIGHT);
这是我的代码,它可以很好地执行TimerTask的run方法,但由于某种原因,我将图像移回原始位置之后的for循环不起作用。知道为什么这不起作用吗?
P.S。 cpCards是一个包含计算机卡片图像的JLabel数组