Erro com RMI

Pessoal tenho o seguinte sisteminha desenvolvido com RMI:

public class Cliente extends JFrame implements ActionListener
{
// aqui fiz as declarações das variaveis, está ok

public static void main(String args [])
{
	try 
	{
[b]CadAluno c1 = (CadAluno)Naming.lookup("//localhost/cad");[/b]
	}
	catch(Exception e) {
	System.out.println("Ocorreu uma excecao: " +e);
	}

	JFrame janela = new Cliente();
	janela.setUndecorated(false);
	janela.setBounds(300,100,300,375);
	janela.setResizable(false);
	janela.show();
}
Cliente()
{
           // Aqui ele cria normalmente a interface gráfica, tbm está ok.
            }

public void actionPerformed(ActionEvent evt)
{
// Eventos do botao

//Cadastrar	
if(evt.getSource()== bCadastra)
{
rgm = tRgm.getText()+"";
nome = tNome.getText()+"";
curso = tCurso.getText()+"";
idade = Integer.parseInt(tIdade.getText()+"");
campus = Integer.parseInt(tCampus.getText()+"");
			
[b]if(c1.setAluno(rgm,nome,curso,idade,campus))[/b]				JOptionPane.showMessageDialog(null, "Aluno cadastrado com sucesso");
else
JOptionPane.showMessageDialog(null, "Falha ao cadastrar aluno ou RGM já existente no sistema");
}

}
}

NOTEM AS PARTES EM NEGRITO
O ERRO ESTÁ QUE ELE NÃO RECONHECE A VARIÁVEL c1,
cannot find symbol
symbol : variable c1
location: class Cliente

O problema é que ele soh dá esse erro depois que eu implemento o
throws RemoteException;
após os métodos nas outras classes.

Alguém conseguiria me ajudar?

Abraços

Está acontecendo porque vc está declarando c1 dentro de um bloco try e catch ou seja ele somente ficara visivel dentro desse try e catch o que vc deve fazer é tirar c1 dentro do bloco try/catch, ficando assim:

public class Cliente extends JFrame implements ActionListener 
{ 
// aqui fiz as declarações das variaveis, está ok 

public static void main(String args []) 
{ 
CadAluno c1 = null;
try 
{ 
 c1 = (CadAluno)Naming.lookup("//localhost/cad"); 
} 
catch(Exception e) { 
System.out.println("Ocorreu uma excecao: " +e); 
} 

JFrame janela = new Cliente(); 
janela.setUndecorated(false); 
janela.setBounds(300,100,300,375); 
janela.setResizable(false); 
janela.show(); 
} 
Cliente() 
{ 
// Aqui ele cria normalmente a interface gráfica, tbm está ok. 
} 

public void actionPerformed(ActionEvent evt) 
{ 
// Eventos do botao 

//Cadastrar 
if(evt.getSource()== bCadastra) 
{ 
rgm = tRgm.getText()+""; 
nome = tNome.getText()+""; 
curso = tCurso.getText()+""; 
idade = Integer.parseInt(tIdade.getText()+""); 
campus = Integer.parseInt(tCampus.getText()+""); 

if(c1.setAluno(rgm,nome,curso,idade,campus)) JOptionPane.showMessageDialog(null, "Aluno cadastrado com sucesso"); 
else 
JOptionPane.showMessageDialog(null, "Falha ao cadastrar aluno ou RGM já existente no sistema"); 
} 
} 
}

Obrigado pela dica… Mas infelizmente tentei e não deu certo…
Já tentei também várias maneiras de efetuar essa declaração:
Tanto dentro dos métodos action performed, dentro do construtor, etc… Nenhum modo deu certo…

Alguém teria alguma outra sugestão?

Abraços

cara, é que vc utiliza o c1 em varios metodos, então ele tem que ser um atributo da sua classe, não pode estar declarado em nenhum metodo e sim na classe

public class cliente extends JFrame .... {
 
 //declarado na classe, fora de qualquer metodo 
 CadAluno c1 = null;

 ...
 
}