Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用计时器类在java小程序中移动图像_Java_Timer_Applet - Fatal编程技术网

使用计时器类在java小程序中移动图像

使用计时器类在java小程序中移动图像,java,timer,applet,Java,Timer,Applet,我正在做一个扑克程序来对抗电脑。我需要给电脑玩家的手一个动画,以返回它不想要的卡片,因此我尝试使用计时器对象临时移动电脑的卡片图像,以显示它们正在被替换 timer1.schedule(new TimerTask() { @Override public void run() { for (int j = cp.getHand().size() - 1; j >= 0; j--) {

我正在做一个扑克程序来对抗电脑。我需要给电脑玩家的手一个动画,以返回它不想要的卡片,因此我尝试使用计时器对象临时移动电脑的卡片图像,以显示它们正在被替换

        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);
timer1.schedule(新TimerTask(){
@凌驾
公开募捐{
对于(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].设置位置(CPWIDTHS[j],CPHEIGHT-25);
}
}
}
}, 2000);
System.out.println(cp.getHand().size());
对于(int j=0;j
这是我的代码,执行TimerTask的run方法可以很好地工作,但是由于某些原因,我在将图像移回原始位置之后的for循环无法工作。你知道为什么这样不行吗


p.S.cpCards是包含计算机卡图像的JLabel数组

1)为什么要编写小程序?如果是由于老师的特殊要求,请参考。2) 为了更快地获得更好的帮助,请发布一个。3) 顺便问一下-这是AWT还是Swing?对于Swing,我们通常会使用
javax.Swing.Timer
,以确保GUI更新在EDT上完成。您应该改用javax.Swing.Timer。。。