Como Fechar JFrames. Preciso de ajuda (Projeto Final)!

Bom dia galera,
Tô precisando muito de ajudacom o seguinte problema …
tenho um JFrame de cadastro de clientes… e nele um botão
que abre uma “outro JFrame” com a relação de clientes já cadastrados dentro de uma Table e um botão “ok” para que eu possa escolher algum cliente dentro da Table.
O meu problema como fazer para que esse 2° JFrame reconheça o 1° JFrame (Cadastro de clientes ) aberto anteriormente para que eu possa fecha-lo no clique do botão “ok”.

o código (resumido) é esse :

JFrame cadastro de clientes :

public class CadastroJuridico extends javax.swing.JFrame {

...

 public CadastroJuridico() {
       super( "Cadastro de Cliente Juridico" );
   


...

    private void btnPesquisarActionPerformed(java.awt.event.ActionEvent evt) {                                             
            ListarClienteJuridico lff = new ListarClienteJuridico( );
            lff.setBounds( 0, 0, 400, 300 );
            lff.setVisible( true );
            
    }                                            

...

JFrame lista de clientes

[code]
public class ListarClienteJuridico extends JFrame
{
JButton ok, sair;
JTable tabela;
CadastroJuridico cju = new CadastroJuridico();

public ListarClienteJuridico( Object ju )
{
    super( "Lista de Cliente Juridico" );
    
    tabela = Dao.listarPessoaJuridica(ju);
          
    tabela.setRowHeight( 20 );
    tabela.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
    tabela.setFont( new Font( "Arial", Font.BOLD, 14 ) );
    tabela.getColumnModel().getColumn(0).setHeaderValue("Código"); 
    tabela.getColumnModel().getColumn(1).setHeaderValue("Descrição");               
    
    getContentPane().setLayout( new BorderLayout() );
    
    JScrollPane scroll = new JScrollPane( tabela );
            
    ok = new JButton( "OK" );
    sair = new JButton( "Sair" );
    
    OuvinteBotao ouvinte = new OuvinteBotao();
    ok.addActionListener( ouvinte );
    sair.addActionListener( ouvinte );
    JPanel panel = new JPanel();
    panel.add( ok );
    panel.add( sair );
    
    getContentPane().add( scroll, BorderLayout.CENTER );
    getContentPane().add( panel, BorderLayout.SOUTH );
    
    pack();
}


private class OuvinteBotao implements ActionListener
{
    public void actionPerformed( ActionEvent evento )
    {
        if (evento.getSource() == sair )
        {
        setVisible(false);    
        CadastroJuridico cju = new CadastroJuridico();
        cju.setBounds (0,0,600,600);
        cju.setVisible( true );
        }
        if( evento.getSource() == ok )
        {
            int linhaSelecionada = tabela.getSelectedRow();
            if( linhaSelecionada != -1 )
            {
                setVisible( false );
                Long index = (Long) tabela.getValueAt( linhaSelecionada, 0 );
                linhaSelecionada = index.intValue();
                Juridica j = null;
                Cliente cli= null;
                
                cli = Dao.pesquisarCliente( linhaSelecionada );
                j = Dao.pesquisarListaJuridica(linhaSelecionada );
                System.out.println("linha selecionada"+ linhaSelecionada);
                System.out.println("na classe j" + j.getCodjuridico());
                
                
                CadastroJuridico cju = new CadastroJuridico( j, cli ); 
                cju.setBounds (0,0,600,600);
                cju.setVisible( true );
                
            }
            else
            {
                JOptionPane.showMessageDialog(null,"Por favor, selecionar produto" );
            }
            }
           
        }
        
    }
   
    
}

[/code]

Agradeço muito se alguém puder me ajudar , esse projeto é para quinta !

uai sô, passa o primeiro frame como parametro pro segundo…

–> na class ListarClienteJuridico

private JFrame owner = null;

public ListarClienteJuridico( Object ju, JFrame owner ) {

 ...
 this.owner = owner;

}

pronto agora tu tem uma referência pro seu 1º Frame dentro da classe do 2º frame, ai tu faz o que quiser com ele =P

meu camarada agradeço sua ajuda
mas sem querer abusar…
como faria para fechar o 1° Frame usando o botão “ok” que está no segundo ?

frame.setVisible(false);

ou…

frame.dispose();

meu amigo, valeu pela ajuda …
tô no trabalho e não vou poder testar agora …
daqui a pouco posto o resultado …

Novamente muito obrigado !

desculpe a minha ignorância…

mas como vou fazer para passar a classe cadastroJuridico
por parametro no botão pesquisar

 palavra = String.valueOf(txtRazao.getText().trim().toUpperCase());
            ListarClienteJuridico lff = new ListarClienteJuridico(palavra,???);
            lff.setBounds( 0, 0, 400, 300 );
            lff.setVisible( true );

new ListarClienteJuridico(palavra, this);

this é uma palavra reservada que faz referência a própria classe.

obs.:

se vc estiver usando classe interna pra manipular o evento, alguma coisa do tipo:

botao.addActionListener( new ActionListener() {

   public void actionPerformed(ActionEvent evt) {
   }

});

Então vai mudar um pokim… em vez de “this”, vc vai usar o nome da classe, “.” e this.

“this” entao vira “CadastroJuridico.this”;

Funcionou perfeito !
Valeu mesmo meu camarada!