Você está na página 1de 7

//FrmProfessor.java package br.jdbc.lr.form; import br.jdbc.lr.modelo.Professor; import br.jdbc.lr.persistencia.ProfessorDAO; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import javax.swing.

DefaultComboBoxModel; import javax.swing.JOptionPane; import javax.swing.text.MaskFormatter; public class FrmProfessor extends javax.swing.JFrame { //inicio da classe FrmProfessor public FrmProfessor() { //inicio do mtodo construtor initComponents(); //somente possvel alterar um professor aps uma consulta ter sido realizada this.btnAlteracaoProfessor.setEnabled(false); //somente possvel excluir um professor aps uma consulta ter sido realizada this.btnExclusaoProfessor.setEnabled(false); this.txtCodigo.setEnabled(false); //para centralizar a tela java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); int componentWidth = this.getWidth(); int componentHeight = this.getHeight(); this.setBounds((screenSize.width-componentWidth)/2, (screenSize.height-componentHeight)/2, componentWidth, componentHeight); //para colocar mscara no campo cpf para validao

try{ MaskFormatter mf1 = new MaskFormatter ("###.###.###-##"); mf1.install(fmtTxtCpf); MaskFormatter mf2 = new MaskFormatter ("##.###.###-#"); mf2.install(fmtTxtRg); MaskFormatter mf3= new MaskFormatter ("##/##/####"); mf3.install(fmtTxtDataNascimento); MaskFormatter mf4= new MaskFormatter ("##/##/####"); mf4.install(fmtTxtDataAdmissao); MaskFormatter mf5= new MaskFormatter ("(##) ####-####"); mf5.install(fmtTxtTelefone); MaskFormatter mf6= new MaskFormatter ("(##) #####-####"); mf6.install(fmtTxtCelular); } catch (Exception e){ e.printStackTrace(); } } //fim do mtodo construtor private void btnInclusaoProfessorActionPerformed(java.awt.event.ActionEvent evt) { //inicio do boto incluso //Cria um objeto do tipo professor Professor professor = new Professor(); //O objeto recebe os atributos que foram digitados pelo usurio no formulrio //professor.setCodigo(Integer.parseInt(txtCodigo.getText())); professor.setNome(txtNome.getText()); professor.setEndereco(txtEndereco.getText()); professor.setTelefone(fmtTxtTelefone.getText()); professor.setCelular(fmtTxtCelular.getText()); //validao dos campos data deste formulrio try{ SimpleDateFormat sdf = new SimpleDateFormat ("dd/MM/yyyy"); professor.setDataNascimento(sdf.parse(fmtTxtDataNascimento.getText())); professor.setDataAdmissao(sdf.parse(fmtTxtDataAdmissao.getText())); } catch (Exception e){ JOptionPane.showMessageDialog(null, "Data de Nascimento ou Data de Admisso no est no formato correto"); return; } professor.setCpf(fmtTxtCpf.getText()); professor.setRg(fmtTxtRg.getText()); professor.setEmail(txtEmail.getText()); professor.setTitulacao(txtTitulacao.getText()); professor.setLogin(txtLogin.getText()); professor.setSenha(new String (pswSenha.getPassword())); //Cria um objeto do tipo Dao (persistncia) ProfessorDAO dao = new ProfessorDAO(); //Verifica se j existe o Professor cadastrado try{ if(dao.incluir(professor)==true){ JOptionPane.showMessageDialog(null, "Professor includo com sucesso"); } else{ JOptionPane.showMessageDialog(null, "Professor j existe"); } //limpar os campos da tela listNome.setModel (new DefaultComboBoxModel<>()); txtCodigo.setText(""); txtNome.setText(""); txtEndereco.setText(""); fmtTxtTelefone.setText(""); fmtTxtCelular.setText(""); fmtTxtDataNascimento.setText(""); fmtTxtDataAdmissao.setText(""); fmtTxtCpf.setText(""); fmtTxtRg.setText("");

txtEmail.setText(""); txtTitulacao.setText(""); txtLogin.setText(""); pswSenha.setText(""); } catch (Exception e){ JOptionPane.showMessageDialog(null, "Falhou. Motivo:" + e.getMessage()); } } // fim do boto incluso private void btnAlteracaoProfessorActionPerformed(java.awt.event.ActionEvent evt) { // inicio do boto alterao try{ Professor professor = new Professor(); professor.setCodigo(Integer.parseInt(txtCodigo.getText())); professor.setNome(txtNome.getText()); professor.setEndereco(txtEndereco.getText()); professor.setTelefone(fmtTxtTelefone.getText()); professor.setCelular(fmtTxtCelular.getText()); SimpleDateFormat sdf = new SimpleDateFormat ("dd/MM/yyyy"); professor.setDataNascimento(sdf.parse(fmtTxtDataNascimento.getText())); professor.setDataAdmissao(sdf.parse(fmtTxtDataAdmissao.getText())); professor.setRg(fmtTxtRg.getText()); professor.setCpf(fmtTxtCpf.getText()); professor.setEmail(txtEmail.getText()); professor.setTitulacao(txtTitulacao.getText()); professor.setLogin(txtLogin.getText()); professor.setSenha (new String (pswSenha.getPassword())); ProfessorDAO dao = new ProfessorDAO(); boolean alterado = dao.alterar(professor); if (alterado == true){ JOptionPane.showMessageDialog(null, "Professor alterado com sucesso"); listNome.setModel (new DefaultComboBoxModel<>()); txtCodigo.setText(""); txtNome.setText(""); txtEndereco.setText(""); fmtTxtTelefone.setText(""); fmtTxtCelular.setText(""); fmtTxtDataNascimento.setText(""); fmtTxtDataAdmissao.setText(""); fmtTxtCpf.setText(""); fmtTxtRg.setText(""); txtEmail.setText(""); txtTitulacao.setText(""); txtLogin.setText(""); pswSenha.setText(""); btnAlteracaoProfessor.setEnabled(false); btnExclusaoProfessor.setEnabled(false); //txtCodigo.setEnabled(true); btnInclusaoProfessor.setEnabled(true); } else{ JOptionPane.showMessageDialog(null, "Professor no pde ser alterado."); } } catch (Exception e){ JOptionPane.showMessageDialog(null, "Ocorreu um erro:" + e.getMessage()); } } //fim do boto alteracao private void btnExclusaoProfessorActionPerformed(java.awt.event.ActionEvent evt) { // inicio do boto excluso try{ int opcaoDoUsuario = JOptionPane.showConfirmDialog(null, "Deseja excluir?", "Excluso",JOptionPane.YES_NO_OPTION); if (opcaoDoUsuario == 0){ Professor professor = new Professor (Integer.parseInt(txtCodigo.getText()));

ProfessorDAO dao = new ProfessorDAO(); boolean excluido = dao.excluir(professor); if (excluido == true){ listNome.setModel (new DefaultComboBoxModel<>()); txtCodigo.setText(""); txtNome.setText(""); txtEndereco.setText(""); fmtTxtTelefone.setText(""); fmtTxtCelular.setText(""); fmtTxtDataNascimento.setText(""); fmtTxtDataAdmissao.setText(""); fmtTxtCpf.setText(""); fmtTxtRg.setText(""); txtEmail.setText(""); txtTitulacao.setText(""); txtLogin.setText(""); pswSenha.setText(""); JOptionPane.showMessageDialog(null, "Professor excludo com sucesso."); btnExclusaoProfessor.setEnabled(false); btnAlteracaoProfessor.setEnabled(false); //txtCodigo.setEnabled(true); btnInclusaoProfessor.setEnabled(true); } else{ JOptionPane.showMessageDialog(null, "Professor no pde ser excludo."); } } } catch (Exception e){ JOptionPane.showMessageDialog(null, "Professor no pde ser excludo:" + e.getMessage()); } } // fim do boto excluso private void btnConsultaProfessorActionPerformed(java.awt.event.ActionEvent evt) { //inicio do boto consulta try{ String nome; nome = txtNome.getText(); if (nome.equals("")){ JOptionPane.showMessageDialog(null, "Voc precisa digitar um nome..."); return; } Professor professor = new Professor(nome); ProfessorDAO dao = new ProfessorDAO(); List<Professor> professoresAchados = new ArrayList<Professor>(); boolean resultado = dao.consultar(professor, professoresAchados); if (resultado == true){ listNome.setModel(new DefaultComboBoxModel(professoresAchados.toArray(new Professor[0]))); btnAlteracaoProfessor.setEnabled(true); btnExclusaoProfessor.setEnabled(true); txtCodigo.setEnabled(false); btnInclusaoProfessor.setEnabled(false); } else{ JOptionPane.showMessageDialog(null, "Professor no foi encontrado."); } } catch (Exception e){ e.printStackTrace(); JOptionPane.showMessageDialog(null, "Ocorreu um erro:" + e.getMessage()); } } // fim do boto consulta // inicio do mtodo listNome de pesquisa do componente JList private void listNomeValueChanged(javax.swing.event.ListSelectionEvent evt) { if (!listNome.isSelectionEmpty()){

Professor professorSelecionado = (Professor)listNome.getSelectedValue(); txtCodigo.setText(Integer.toString(professorSelecionado.getCodigo())); txtNome.setText(professorSelecionado.getNome()); txtEndereco.setText(professorSelecionado.getEndereco()); fmtTxtTelefone.setText(professorSelecionado.getTelefone()); fmtTxtCelular.setText(professorSelecionado.getCelular()); SimpleDateFormat sdf = new SimpleDateFormat ("dd/MM/yyyy"); fmtTxtDataNascimento.setText(sdf.format (professorSelecionado.getDataNascimento())); fmtTxtDataAdmissao.setText(sdf.format(professorSelecionado.getDataAdmissao())); fmtTxtCpf.setText(professorSelecionado.getCpf()); fmtTxtRg.setText(professorSelecionado.getRg()); txtEmail.setText(professorSelecionado.getEmail()); txtTitulacao.setText(professorSelecionado.getTitulacao()); txtLogin.setText(professorSelecionado.getLogin()); pswSenha.setText(professorSelecionado.getSenha()); } } // fim do mtodo listNome de pesquisa do componente JList } // fim da classe FrmProfessor

//ProfessorDAO.java public class ProfessorDAO { // inicio da classe ProfessorDAO public boolean incluir (Professor professor)throws Exception{ // inicio do mtodo incluir //verifica se j existe um professor cadastrado if(this.consultar(professor, new ArrayList<Professor>())==true){ return false; // se existir, retorna falso } else{ //se no existir, deixa cadastrar Connection conn = null; //objeto que executa um comando sql PreparedStatement stmt = null; //? significa um campo a ser preenchido String sql = "INSERT INTO professor VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)"; conn = ConnectionFactory.getConnection(); stmt = conn.prepareStatement(sql); stmt.setInt(1, professor.getCodigo()); stmt.setString(2, professor.getNome()); stmt.setString(3, professor.getEndereco()); stmt.setString(4, professor.getTelefone()); stmt.setString(5, professor.getCelular()); //convertendo java.util.Date para java.sql.Date stmt.setDate(6, new java.sql.Date (professor.getDataNascimento().getTime())); stmt.setDate(7, new java.sql.Date (professor.getDataAdmissao().getTime())); stmt.setString(8, professor.getRg()); stmt.setString(9 , professor.getCpf()); stmt.setString(10, professor.getEmail()); stmt.setString(11, professor.getTitulacao()); stmt.setString(12, professor.getLogin()); stmt.setString(13, professor.getSenha()); stmt.executeUpdate(); stmt.close(); ConnectionFactory.closeConnection(conn); return true; //Cadastrou um novo professor } } // fim do mtodo incluir // inicio do mtodo consultar public boolean consultar (Professor professor, List<Professor> professoresAchados)throws Exception{ String sql = "SELECT * FROM professor WHERE nome LIKE ?"; Connection conn = ConnectionFactory.getConnection(); PreparedStatement stmt = conn.prepareStatement(sql); stmt.setString(1, "%"+ professor.getNome()+ "%");

//armazena o resultado da query ResultSet rs = stmt.executeQuery(); boolean professorFoiEncontrado = false; while(rs.next()){ professorFoiEncontrado = true; Professor professores = new Professor(); int codigo = rs.getInt("codigo"); professores.setCodigo(codigo); String nome = rs.getString("nome"); professores.setNome(nome); String endereco = rs.getString("endereco"); professores.setEndereco(endereco); String telefone = rs.getString ("telefone"); professores.setTelefone(telefone); String celular = rs.getString ("celular"); professores.setCelular(celular); Date dataNascimento = rs.getDate("dataNascimento"); professores.setDataNascimento(dataNascimento); Date dataAdmissao = rs.getDate("dataAdmissao"); professores.setDataAdmissao(dataAdmissao); String cpf = rs.getString("cpf"); professores.setCpf(cpf); String rg = rs.getString("rg"); professores.setRg(rg); String email = rs.getString ("email"); professores.setEmail(email); String titulacao = rs.getString ("titulacao"); professores.setTitulacao(titulacao); String login = rs.getString("login"); professores.setLogin(login); String senha = rs.getString("senha"); professores.setSenha(senha); professoresAchados.add(professores); } rs.close(); stmt.close(); ConnectionFactory.closeConnection(conn); if (professorFoiEncontrado == true) return true; else return false; } // fim do mtodo consultar public boolean alterar (Professor professor) throws Exception{ // inicio do mtodo alterar String sqlSelect = "SELECT * FROM professor WHERE codigo = ?"; Connection conn = ConnectionFactory.getConnection(); PreparedStatement stmtSelect = conn.prepareStatement(sqlSelect); stmtSelect.setInt(1, professor.getCodigo()); ResultSet rs = stmtSelect.executeQuery(); boolean professorExiste = rs.next(); if (professorExiste == true){ String sqlUpdate = "UPDATE professor SET nome = ?, endereco = ?, telefone = ?, " + "celular = ?, dataNascimento = ?, dataAdmissao = ?, rg = ?, cpf = ?, email = ?, titulacao = ?, login = ?, senha = ? WHERE codigo = ?"; PreparedStatement stmtUpdate = conn.prepareStatement(sqlUpdate); stmtUpdate.setString(1, professor.getNome()); stmtUpdate.setString(2, professor.getEndereco()); stmtUpdate.setString(3, professor.getTelefone()); stmtUpdate.setString(4, professor.getCelular()); stmtUpdate.setDate(5, new java.sql.Date (professor.getDataNascimento().getTime())); stmtUpdate.setDate(6, new java.sql.Date (professor.getDataAdmissao().getTime())); stmtUpdate.setString(7, professor.getRg()); stmtUpdate.setString(8, professor.getCpf()); stmtUpdate.setString(9, professor.getEmail());

stmtUpdate.setString(10, professor.getTitulacao()); stmtUpdate.setString(11, professor.getLogin()); stmtUpdate.setString(12, professor.getSenha()); stmtUpdate.setInt(13, professor.getCodigo()); stmtUpdate.executeUpdate(); stmtUpdate.close(); stmtSelect.close(); rs.close(); ConnectionFactory.closeConnection(conn); return true; } else{ stmtSelect.close(); rs.close(); ConnectionFactory.closeConnection(conn); return false; } } // fim do mtodo alterar public boolean excluir (Professor professor)throws Exception{ // inicio do mtodo excluir String sql = "DELETE FROM professor WHERE codigo = ?"; Connection conn = ConnectionFactory.getConnection(); PreparedStatement stmt = conn.prepareStatement(sql); stmt.setInt(1, professor.getCodigo()); int numeroLinhasAfetadas = stmt.executeUpdate(); stmt.close(); ConnectionFactory.closeConnection(conn); if (numeroLinhasAfetadas > 0) return true; else return false; } // inicio do mtodo excluir } // inicio da classe ProfessorDAO

//Professor.java package br.jdbc.lr.modelo; import java.util.ArrayList; import java.util.List; public class Professor extends Pessoa{ //inicio da classe Professor public Professor(){ // inicio do mtodo construtor } // fim do mtodo construtor public Professor (int codigo){ // inicio do mtodo construtor this.setCodigo(codigo); } // fim do mtodo construtor public Professor(String nome) { // inicio do mtodo construtor this.setNome(nome); } // fim do mtodo construtor public Professor (int codigo, String nome){ // inicio do mtodo construtor this (codigo); this.setNome(nome); } // fim do mtodo construtor @Override // sobrescreve o mtodo getNome public String toString() { // inicio do mtodo toString return this.getNome(); } // fim do mtodo toString } // fim da Classe Professor

Você também pode gostar