Mudar char de uma string

Boa tarde, pessoal. Estou com um probleminha, eu tenho o seguinte JLabel (jLabel4) que gera o seu texto a partir do seguinte código:

String palavra = "casa";
for (int i = 0; i < palavra.length(); i++) {
      jLabel4.setText(jLabel4.getText() + "_ ");
}

E também tenho o seguinte JFrame:

http://www.4shared.com/photo/aOQTmE88/frame.html

O meu problema é o seguinte: quero colocar o text dos botões no lugar de cada "" do meu jLabel4, para que, por exemplo, ao clicar no Button com o text “A”, o jLabel ficar " A _ A ".

O código que uso atualmente é o seguinte (não funciona :!: ):

for (int i = 0; i < palavra.length(); i++) {
    if (bt.getText().equals(palavra.charAt(i))) {
        jLabel4.setText(jLabel4.getText().replaceAll(jLabel4.getText(), bt.getText()));
    }
}

Não dá nenhum erro, mas o texto do jLabel4 não muda… Alguém saberia me ajudar?

Desde já, obrigado.

[]'s, Roger.

Edit: Esqueci de mencionar, debuguei o troço todo aí, e esse if nunca entra, por isso que não muda… Queria saber então, na verdade, pq esse if não está funcionando… Obrigado!
Edit2: Obviamente, esse for que mencionei está dentro de um ActionListener, que adiciono a cada botão.

É uma dica básica, mas as vezes passa, comigo acontecia seguido.

Vi que sua palavra é “casa” em minúsculo e os textos dos botões estão em maiúsculas. Como o Java é casesensitive, pode ser aí o problema.

Já tentou testar com a palavra “CASA”?

Realmente, isso é um problema, mas mesmo adicionando o método toUpperCase() no if, não resolveu… Continua o mesmo problema