我是摇摆新手,任何帮助表示赞赏。
在这段代码中,我将一张卡片正面朝上翻转,如果事实证明它们不匹配,我希望它们再次正面朝下翻转。
目前正在发生的事情: 1. 当点击第一张卡片时 2. 当点击第二张卡片时,会发生两件事中的任何一个(a)如果它们相同,它们都会保持不变,这就是我想要的(b)如果它们不一样我根本看不到第二张卡片,因为它会立即重新显示卡片的背面(以及前一张卡片的背面也是我的方法中定义的)。
我认为放入睡眠计时器可能会使第二张卡片显示一段时间,然后再翻身,但事实并非如此。
我试图使用 contentPane.revalidate(); & contentPane.repaint(); 但它不会改变任何东西。
我已经输入了一些控制台输出:
Console output:
Card: 0 set
Card: 6 set
Sleeping now
Card: 6 unset
Card: 0 unset
上面是单击两张不匹配的卡时产生的控制台输出
@Override
public void actionPerformed(ActionEvent e)
{
String buttonPressed = e.getActionCommand();
int pos = Integer.valueOf(buttonPressed);
action = Control.model.ReceiveCardsTurned(pos);
keypadArray[pos].setIcon(myIcons[pos]);
System.out.println("Card: "+pos+" set");
currentTime.setText("" + Control.model.time);
currentScore.setText("" + Control.model.score);
//contentPane.revalidate();
//contentPane.repaint();
if(Control.model.twoCardsTurned == false)
{
if (action == "unturn")
{
System.out.println("Sleeping now");
try
{
Thread.sleep(1000);
}
catch (InterruptedException e1)
{
e1.printStackTrace();
}
keypadArray[pos].setIcon(back);
keypadArray[Control.model.lastCard].setIcon(back);
System.out.println("Card: "+pos+" unset");
System.out.println("Card: "+Control.model.lastCard+" unset");
}
}
}