Problema ao tentar usar dispose()

Bom dia galera!
Crie um classe estou adicione uma classe interna, que estou usando para o evento do botão fechar. Mas o comando dispose() não está funcionando. Como vocês podem ver eu testei o System.exit(0) e ele fechou a janela, mas se eu utilizar esse comando ele fecha o meu programa inteiro, e não é isso que eu quero. Quero que feche só esta janela. Esta é minha classe interna:

class Fechar implements ActionListener{ public void actionPerformed(ActionEvent event){ CadUsuario cad = new CadUsuario(); cad.dispose(); //System.exit(0); } }

Alguem poderia me dizer o porque de não esta funcionando. Não sei se derrepente eu não posso usar este comando em classe interna.
Desde já agradeço!

vai ser um evento no botão!!!

Ex:

seuBotão.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { seuBotãoActionPerformed(evt); } });

[code] private void seuBotãoActionPerformed(java.awt.event.ActionEvent evt) {

Janela_Principal janela = new Janela_Principal(jPasswordBalada.getText(),txtUserName.getText());
janela.setVisible(true);
this.dispose(); //fechar a tela apos o login concluido
}[/code]

lokit"s não conseguir fazer seu exemplo funcionar fiquei com duvida na parte seuBotãoActionPerformed(evt).

Voce precisa dar o dispose na View aberta, voce está fazendo isso numa janela que voce acabou de criar.