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

投稿の1つによると、これは正しいですが、(テスト目的で)意図的に間違った文字を選択すると、画像は同じままです

画像「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 に答える