0

我目前正在测试我的刽子手应用程序,但还没有正确的代码来隐藏原始单词(这应该是猜到的)所以我使用 if 语句来告诉我字母是否在单词中

if(original.toUpperCase().indexOf(button.getText())!=-1){
                 JOptionPane.showMessageDialog(null, "Your word does contain " + text );
             }
             else{
                 JOptionPane.showMessageDialog(null, "There is no " + text );
                 error++;
             }
             }
             });

现在据我了解,如果字母不在单词中,则错误必须根据以下值加上 1 个整数

error++;

现在对于我使用的图像代码

 imageName = null;
    error =0;
   if(error >= 0) imageName = "hangman1.jpg";
   if(error >= 1) imageName = "hangman2.jpg";
   if(error >= 2) imageName = "hangman3.jpg";
   if(error >= 3) imageName = "hangman4.jpg";
   if(error >= 4) imageName = "hangman5.jpg";
   if(error >= 5) imageName = "hangman6.jpg";
   if(error >= 7) imageName = "hangman7.jpg";
    ImageIcon icon = null;
    if(imageName != null){
        icon = new ImageIcon(imageName);
    }
   JLabel image = new JLabel();
   image.setIcon(icon);

根据其中一个帖子,这是正确的,但是当我故意选择错误的字母(出于测试目的)时,图像保持不变

并且图像“hangman1.jpg”是一个占位符,(只是结构)

谁能告诉我我哪里出错了

完整代码见 刽子手图片没有改变

4

2 回答 2

1

0在进行检查之前将错误设置为。

删除这一行:

error =0;
于 2012-08-28T01:51:19.637 回答
0

从您的代码片段中,不清楚您是否将 添加JLabel image到父容器中。

重新创建JLabel是不必要的。

只需创建一个实例并调用image.setIcon(...);

于 2012-08-28T01:53:32.870 回答