Método não reconhecido

9 respostas
NaaH

Boa noite galera (:

Sou iniciante em Java, e estou com um probleminha ;S

Bom... eu criei um metodo mostrarProfessores, daí no momento em que coloco uma ação no jbutton Buscar, ele não é reconhecido e diz que preciso criá-lo. Já coloque ate do jeito que foi criado

private void mostrarProfessore(List<ProfessorBean> professores){
//o resto do codigo
}
Mas sempre da erro. O código só fica certo qnd coloco mostrarProfessores(null) ....

Alguém pode me dar uma ajudinha?? Please *-*

private void mostrarProfessores
        (List<ProfessorBean> professores){
 
    while(tmProfessor.getRowCount() > 0){
            tmProfessor.removeRow(0);   
    }
  
  if(professores.size()== 0){
        JOptionPane.showMessageDialog(this, "Nenhum professor encontrado!");
    }else{
        
        String[] campos = new String[] {null,null,null,null,null}; ;
        for (int i=0; i < professores.size(); i++){
            tmProfessor.addRow(campos);
            tmProfessor.setValueAt(professores.get(i).getCodigo(), i, 0);
            tmProfessor.setValueAt(professores.get(i).getNomecompleto(), i, 1);
            tmProfessor.setValueAt(professores.get(i).getEndereco(), i, 2);
            tmProfessor.setValueAt(professores.get(i).getFormacao(), i, 3);
            tmProfessor.setValueAt(professores.get(i).getTelefone(), i, 4);
        }        
    }


}

private void jBBuscarActionPerformed(java.awt.event.ActionEvent evt) {                                         
    
mostrarProfessores(); //erro aqui.
}

Alguém? :?

9 Respostas

R

Dentro do seu actionperformed voce ta chamando o metodo sem passar nada como argumento… o que esta errado porque voce definiu no seu metodo que ele ira receber uma lista de professores.

NaaH

Mas como eu já disse… eu ja coloquei

private void jBBuscarActionPerformed(java.awt.event.ActionEvent evt) { mostrarProfessores(List<ProfessorBean> professores); }

Mas dá erro do mesmo jeito… ;S

R

Ta… mas voce nao disse qual erro…mostre o erro pra nos lady.

romarcio

NaaH’:
Mas como eu já disse… eu ja coloquei

private void jBBuscarActionPerformed(java.awt.event.ActionEvent evt) { mostrarProfessores(List<ProfessorBean> professores); }

Mas dá erro do mesmo jeito… ;S

Olha bem o que você vez no parametro do método mostrarProfessores(List<ProfessorBean> professores);Você precisa passar uma lista de professores e você não está fazendo isso. Deve fazer isso: mostrarProfessores(professores);

NaaH

Tá desculpa ;P

Obs.: Aparece esse erro pq eu coloquei null dentro de mostrarProfessores. Pq so assim o erro na linha saia... eu quero uma solução pra reconhecer o metodo que chamei no botão Buscar... Entende +/-?

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at br.com.sishorario.Professor.jBBuscarActionPerformed(Professor.java:569) // erro na qual falei.
at br.com.sishorario.Professor.mostrarProfessores(Professor.java:548)

private void mostrarProfessores
        (List<ProfessorBean> professores){
 
    while(tmProfessor.getRowCount() > 0){
            tmProfessor.removeRow(0);   
    }
  
  if(professores.size()== 0){                 // erro da linha 548 , aqui diz que devo usar .isEmpty em vez de .size()==0
        JOptionPane.showMessageDialog(this, "Nenhum professor encontrado!");
    }
romarcio

Olá NaaH’,
entenda que a gente comenta e da opiniões sobre o código que você posta aqui. Se você posta o código pela metade ou errado, os comentários não serão precisos.

Mas seu método espera uma lista de professores, basta passar uma lista de professores quando chamar o método. Como eu mostrei para você no comentário anterior.

private void jBBuscarActionPerformed(java.awt.event.ActionEvent evt) { mostrarProfessores(insira o objeto que contem sua lista de professores aqui); //erro aqui. }

NaaH

Mas minha Lista taê ;S
é importado pelo form ProfessorBean

public List<ProfessorBean> listarProfessores(String nome){
      List<ProfessorBean> professores=new ArrayList();  
      try{
          AcessoMySql mysql=new AcessoMySql();
          pstm =  (PreparedStatement) mysql.conectar().prepareStatement(consultaProfessor);
          pstm.setString(1, nome); //SELECT * FROM PROFESSOR WHERE NOME LIKE 
          rs = pstm.executeQuery();
          ProfessorBean pro;
          while (rs.next()) {
              pro = new ProfessorBean();
              pro.setCodigo(rs.getInt("codigo"));
              pro.setNomecompleto(rs.getString("nomecompleto"));
              pro.setEndereco(rs.getString("endereco"));
              pro.setBairro(rs.getString("bairro"));
              pro.setCidade(rs.getString("cidade"));
              pro.setNumero(rs.getInt("numero"));
              pro.setDdd(rs.getString("ddd"));
              pro.setCpf(rs.getInt("cpf"));
              pro.setFormacao(rs.getString("formacao"));
              pro.setRg(rs.getInt("rg"));
              pro.setUf(rs.getString("uf"));
              pro.setCelular(rs.getString("celular"));
              pro.setTelefone(rs.getString("telefone"));
              pro.setAtividadeextracurricular(rs.getString("atividadeextracurricular"));
              professores.add(pro);
          }
          mysql.desconectar();
      } catch(Exception e){
          e.printStackTrace();
      }
      return professores;
    
    }
}

;S

romarcio

Então faça assim:

private void jBBuscarActionPerformed(java.awt.event.ActionEvent evt) {   
         mostrarProfessores(listarProfessores(nome)); //erro aqui.    
} 
//ou
private void jBBuscarActionPerformed(java.awt.event.ActionEvent evt) {   
         List&lt;Professores&gt; professores = listarProfessores(nome);
         mostrarProfessores(professores); //erro aqui.    
}
O

editado pois entendi que o problema era o nullpointer e não o método. desculpe.

Criado 15 de janeiro de 2013
Ultima resposta 16 de jan. de 2013
Respostas 9
Participantes 4