Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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 - Fatal编程技术网

Java 代码不';不执行

Java 代码不';不执行,java,Java,我有这段代码 // If we click on an unfolded card if (card.clicked == false) { clicksCount++; clickedCards[clicksCount - 1] = card; card.showCardImage(); if (clicksCount == 2) { try { Thread.sleep(1000); } catch

我有这段代码

// If we click on an unfolded card
if (card.clicked == false) {
    clicksCount++;
    clickedCards[clicksCount - 1] = card;

    card.showCardImage();

    if (clicksCount == 2) {

        try {
            Thread.sleep(1000);
        } catch (InterruptedException ex) {
            Thread.currentThread().interrupt();
        }
        // Loop through clicked cards and if they don't have the
        // same ID fold them
        if (clickedCards[0].cardID != clickedCards[1].cardID) {

            for (int k = 0; k < clickedCards.length; k++) {
                clickedCards[k].setDefaultIcon();
                clickedCards[k].clicked = false;
            }

            failedAttempts.setText("Failed Attempts: "
                    + ++failedCount);
        }

        attemptsCount++;
        attempts.setText("Attempts " + attemptsCount);
        clicksCount = 0; // reset click counter

    }
}
//如果我们点击一张展开的卡片
如果(card.clicked==false){
单击Scont++;
clickedCards[点击图标-1]=卡片;
card.showCardImage();
如果(单击搜索==2){
试一试{
睡眠(1000);
}捕获(中断异常例外){
Thread.currentThread().interrupt();
}
//循环浏览单击的卡片,如果它们没有
//相同的ID折叠它们
如果(clickedCards[0].cardID!=clickedCards[1].cardID){
对于(int k=0;k
这是我的pexeso游戏的功能。第一张卡显示卡的图像很好,但当我第二次单击时,它不会显示卡的图像。它只需等待,然后折叠第一张卡

我知道这是因为睡了线,但不知道该怎么办


我很乐意接受任何意见或建议

我猜这是一个Swing GUI(你从来没有告诉过我们)。如果是这样,那么您是对的:在Swing事件线程上调用
Thread.sleep(…)
将使整个GUI进入睡眠状态,包括所有GUI绘图。相反,使用设置为1000毫秒延迟的Swing定时器。在定时器的ActionListener中,您将把卡更改回原来的状态。您将通过setter方法告诉计时器不要重复,
setRepeats(false)


.

什么是
(我的水晶球在问
cardd
是否是字符串)你也可能想使用调试器自己解决(或缩小问题范围)@RC.:调试器虽然通常很有用,但在这里没有帮助,因为程序的逻辑可以正常工作,但问题的原因是,
Thread.sleep(…)
冻结Swing事件调度线程(EDT),从而冻结Swing图形,这将是很难用标准调试器隔离的事情。非常感谢,这正是我想知道的:),下一次我将告诉您它是哪个gui:D