java swing 升级_java – 正确更新swing组件?

我是新手,任何帮助表示感谢.

在这段代码中,我正在翻牌,如果事实证明他们不匹配,我希望他们再次面朝下.

目前正在发生的事情:

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");

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值