0

私の絞首刑執行人アプリケーションでは、ユーザー用のボタンのセットを作成しました。次に、絞首刑執行人アプリで推測された単語がファイルからランダムに選択されます...単語はJLabelを使用して印刷されます...しかし、ボタンクリックすると、アプリケーションがフリーズします。これが起こっていることを誰か教えてください...


ボタンの作り方

for(char i = 'A'; i <= 'Z'; i++){
    String buttonText = new Character(i).toString();
    JButton button = getButton(buttonText);
    panel1.add(button);
}

ボタン アクションリスナー

public JButton getButton(final String text){
    final JButton button = new JButton(text);
    button.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
            if(original.toUpperCase().indexOf(button.getText())!=-1){
                guessString = text;
                guessLetter = guessString.charAt(0);
                StringBuilder builder = new StringBuilder(secret);
                while(error < 6){
                }
                for (int i = 0; i < original.length(); i++){
                    if (original.charAt(i) == guessLetter){
                        builder.setCharAt(i, guessLetter);
                    }
                }
                secret = builder.toString();
            }
            else{
                JOptionPane.showMessageDialog(null, "There is no " + text );
                error++;
                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"; 
            }
        }
    });
    return button;
}
4

1 に答える 1

3

6 未満のactionPerformed場合は無限ループになります。error

while(error < 6) {
}
于 2012-09-02T21:07:30.173 に答える