Mensagem "Cannot find symbol", mas não sei porque

Olá a todos. NO meu projeto, está aparecebdo essa mensagem, e pelo que ententi não está encontrando um método que foi declarado em uma outra classe. Vejam um trecho dos códigos:

Frame onde o erro está aparecendo

[code]conexao conex = new conexao();
conex.conecta();

if(cbEscolhaDev.getSelectedItem().equals(“LIVRO”)){
ERRO — > conex.devolucaoExemplar(tfCodEmprestimo.getText()); <—ERRO
JOptionPane.showMessageDialog(null, “Item devolvido com sucesso.”, “AVISO”, JOptionPane.INFORMATION_MESSAGE);
}
else
if(cbEscolhaDev.getSelectedItem().equals(“TCC”)){
ERRO—> conex.realizarDevolucaoTcc(tfCodEmprestimo.getText()); <—ERRO
JOptionPane.showMessageDialog(null, “Item devolvido com sucesso.”, “AVISO”, JOptionPane.INFORMATION_MESSAGE);
}
else
if(cbEscolhaDev.getSelectedItem().equals(“PERIODICO”)){
ERRO–> conex.realizarDevolucaoPeriodico(tfCodEmprestimo.getText()); <—ERRO
JOptionPane.showMessageDialog(null, “Item devolvido com sucesso.”, “AVISO”, JOptionPane.INFORMATION_MESSAGE);
}[/code]

E a classe que tem esses métodos declarados, que se chama conexao:

[code]//================================Inicio do metodo devolucaoExemplar()=============================
//Esse metodo apaga um emprestimo salvo na tabela “emprestimoExemplar”, caracterizando uma devolucao
public void devolucaoExemplar(String codEmprestimo){
try{
PreparedStatement st1 = con.prepareStatement(“DELETE FROM “FABRICIO”.“emprestimoExemplar” WHERE “emprestimoExemplar”.“CODEMPRESTIMOEXEMPLAR” = ?”);
st1.setString(1, codEmprestimo);
st1.executeUpdate();
st1.close();
}
catch(SQLException e){
JOptionPane.showMessageDialog(null, "Erro no metodo devolucaoExemplar(): " + e.getMessage());
}
}

//=================================Fim do metodo realizarDevolucaoExemplar()===============================

//================================Inicio do metodo realizarDevolucaoPeriodico()=============================
//Esse metodo apaga um emprestimo salvo na tabela “emprestimoPeriodico”, caracterizando uma devolucao
public void realizarDevolucaoPeriodico(String codEmprestimo){
try{
PreparedStatement st1 = con.prepareStatement(“DELETE FROM “FABRICIO”.“emprestimoPeriodico” WHERE “emprestimoPeriodico”.“CODEMPRESTIMOPERIODICO” = ?”);
st1.setString(1, codEmprestimo);
st1.executeUpdate();
st1.close();
}
catch(SQLException e){
JOptionPane.showMessageDialog(null, "Erro no metodo realizarDevolucaoPeriodico(): " + e.getMessage());
}
}

//====================================Fim do metodo realizarDevolucaoPeriodico()==================================

//================================Inicio do metodo realizarDevolucaoTcc()=============================
//Esse metodo apaga um emprestimo salvo na tabela “emprestimoTcc”, caracterizando uma devolucao
public void realizarDevolucaoTcc(String codEmprestimo){
try{
PreparedStatement st1 = con.prepareStatement(“DELETE FROM “FABRICIO”.“emprestimoTcc” WHERE “emprestimoTcc”.“CODEMPRESTIMOTCC” = ?”);
st1.setString(1, codEmprestimo);
st1.executeUpdate();
st1.close();
}
catch(SQLException e){
JOptionPane.showMessageDialog(null, "Erro no metodo realizarDevolucaoTcc(): " + e.getMessage());
}
}

//====================================Fim do metodo realizarDevolucaoTcc()================================== [/code]

Passei cerca de uma hora lendo e relendo o código, mas não achei erro algum. A mensagem que fica aparecento é:

                          [quote]Cannot find symbol
                                    symbol: NOME_DO_METODO(java.lang.String)
                                    location: class Conexao.conexao[/quote]

Sendo que todos os imports estão corretos, pois o frame está eum um pacote distinto da classe conexao.

Por favor, se alguém me apontar a solução, ficarei muito grato.

sua classe se chama conexao ou Conexao…

repare como vc escreveu… pode ser isso…

Kra, uma das regras do Java, é que o nome das classes devem iniciar com letra maiúscula. Como o amigo luiz.argenton comentou, vc deve ter se confundido nessa parte de conexao / Conexao.

NOME_DO_METODO é o q???

poderia mostrar a classe Conexão?!?!

Flw

Vejam bem,Conexão com “C” maiusculo é o pacote onde a classe conexao, com “c” minusculo está.

No frame é que este erro está aparecendo. Eu instâncio a classe conexao,criando a instancia “conex”.Só que quando chamo os métodos “devolucaoExemplar”, “realizarDevolucaoTcc” e “realizarDevolucaoPeriodico” que estão na classe “conexao”,aparece a mensagem abaixo

[quote]Cannot find symbol
symbol: NOME_DO_METODO(java.lang.String)
location: class Conexao.conexao[/quote]

Onde NOME_DO_METODO é um desses três métodos que mencionei acima.O que entendi é que o frame não está encontrando os métodos declarados na outra classe, a “conexao” sendo que estes já foram corretamente declarados.

Grato pela atenção dos colegas e continuo no aguardo de novas sugestões.

Verifique se sua classe conexao foi compilada corretamente. Esse erro está acontecendo provavelmente porque sua classe principal está instanciando uma versão anterior da sua classe conexao, sem os métodos.

Outra coisa, mude os nomes, utilize a convenção. O nome da classe deve começar com “C” maiusculo. E dê um outro nome para seu pacote, para evitar confusão.