Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Criar uma caixa de confirmação de exclusão e cadastro em um Crud

$
0
0

@LuSaRi escreveu:

Boa tarde. Eu estou fazendo um sistema CRUD para fazer cadastro de pessoas dentro de um clube utilizando JFrame + PostgreSQL. Só gostaria saber que alternativas eu poderia ter de mostrar uma mensagem para confirmação de exclusão ou cadastro de uma nova pessoa. Não sei se o jeito certo é criar um novo JFrame para isto, JOptionPane ou algo do tipo. O código está logo abaixo:

package VISUAL;
import DAO.ConectaBD;
import java.sql.*;
import javax.swing.JOptionPane;
import net.proteanit.sql.DbUtils; //Import do rs2xml.jar

public class frmCadUsuarios extends javax.swing.JInternalFrame {

Connection conecta;
PreparedStatement pst;
ResultSet rs;

public frmCadUsuarios() throws ClassNotFoundException {
    initComponents();
    this.setLocation(330, 100);
    conecta = ConectaBD.conectabd(); //Conectar com o banco de dados
    listarDesbravadores(); //Inicializar lista
}

public void listarDesbravadores() {
    String sql = "Select * from usuarios order by codigo Asc";
    try {
        pst = conecta.prepareStatement(sql);
        rs = pst.executeQuery();
        tblDesbravadores.setModel(DbUtils.resultSetToTableModel(rs));
    }
    catch(SQLException error) {
        JOptionPane.showMessageDialog(null, error);
    }
}

public void cadastrarDesbravadores() {
    String sql = "Insert into usuarios(nome, telefone, endereco) values (?,?,?)"; //? > Inserção dinâmica, sem saber o valor
    try {
        pst = conecta.prepareStatement(sql);
        pst.setString(1, txtNome.getText());
        pst.setString(2, txtTelefone.getText());
        pst.setString(3, txtEndereco.getText());

        pst.execute();//Manda executar
        //Mensagem de informação
        JOptionPane.showMessageDialog(null, "Desbravador cadastrado com sucesso!!!", "Confirmação", JOptionPane.INFORMATION_MESSAGE);
        listarDesbravadores(); //Atualiza a janela com as informações dentro dela

    }
    catch(SQLException error) {
        JOptionPane.showMessageDialog(null, error);
    }
}

public void pesquisarDesbravadores() {
    String sql = "Select * from usuarios where nome like ?";
    try {
        pst = conecta.prepareStatement(sql);
        pst.setString(1, txtPesquisar.getText()+"%"); //Quando apagar, trazer as informações, usado com o like
        rs = pst.executeQuery();
        tblDesbravadores.setModel(DbUtils.resultSetToTableModel(rs));
    }
    catch(SQLException error) {
        JOptionPane.showMessageDialog(null, error);
    }

}

public void mostrarItens() {
    int seleciona = tblDesbravadores.getSelectedRow();//Buscar valor que estiver selecionado
    txtCodigo.setText(tblDesbravadores.getModel().getValueAt(seleciona, 0).toString());
    txtNome.setText(tblDesbravadores.getModel().getValueAt(seleciona, 1).toString());
    txtTelefone.setText(tblDesbravadores.getModel().getValueAt(seleciona, 2).toString());
    txtEndereco.setText(tblDesbravadores.getModel().getValueAt(seleciona, 3).toString());
}

public void editarDesbravadores() {
    String sql = "Update usuarios set nome = ?,telefone = ?, endereco = ? where codigo = ?";
    try {
        pst = conecta.prepareStatement(sql);
        pst.setString(1, txtNome.getText());
        pst.setString(2, txtTelefone.getText());
        pst.setString(3, txtEndereco.getText());
        pst.setInt(4, Integer.parseInt(txtCodigo.getText()));
        pst.executeUpdate();
        JOptionPane.showMessageDialog(null, "Cadastro editado com sucesso!!!");
        listarDesbravadores();
    }
    catch(SQLException error) {
        JOptionPane.showMessageDialog(null, error);
    }
}

public void deletarDesbravadores() {
    String sql = "Delete from usuarios where codigo = ?";
    try {
        pst = conecta.prepareStatement(sql);
        pst.setInt(1, Integer.parseInt(txtCodigo.getText()));
        pst.execute();
        listarDesbravadores();
    }
    catch(SQLException error) {
        JOptionPane.showMessageDialog(null, error);
    }
}

public void limparCampos() { //Limpar as caixas
    txtCodigo.setText("");
    txtNome.setText("");
    txtTelefone.setText("");
    txtEndereco.setText("");
}


@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    jScrollPane1 = new javax.swing.JScrollPane();
    tblDesbravadores = new javax.swing.JTable();
    jLabel1 = new javax.swing.JLabel();
    txtCodigo = new javax.swing.JTextField();
    jLabel2 = new javax.swing.JLabel();
    txtNome = new javax.swing.JTextField();
    jLabel3 = new javax.swing.JLabel();
    txtTelefone = new javax.swing.JFormattedTextField();
    jLabel4 = new javax.swing.JLabel();
    txtEndereco = new javax.swing.JTextField();
    jButton1 = new javax.swing.JButton();
    jButton2 = new javax.swing.JButton();
    jButton3 = new javax.swing.JButton();
    jButton4 = new javax.swing.JButton();
    txtPesquisar = new javax.swing.JTextField();
    jLabel5 = new javax.swing.JLabel();

    setClosable(true);
    setIconifiable(true);
    setTitle("Cadastro de Desbravadores");

    tblDesbravadores.setModel(new javax.swing.table.DefaultTableModel(
        new Object [][] {
            {null, null, null, null},
            {null, null, null, null},
            {null, null, null, null},
            {null, null, null, null}
        },
        new String [] {
            "Title 1", "Title 2", "Title 3", "Title 4"
        }
    ));
    tblDesbravadores.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            tblDesbravadoresMouseClicked(evt);
        }
    });
    jScrollPane1.setViewportView(tblDesbravadores);

    jLabel1.setText("Código:");

    txtCodigo.setBackground(new java.awt.Color(0, 0, 0));
    txtCodigo.setEnabled(false);

    jLabel2.setText("Nome:");

    jLabel3.setText("Telefone:");

    try {
        txtTelefone.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("(##)####-####")));
    } catch (java.text.ParseException ex) {
        ex.printStackTrace();
    }

    jLabel4.setText("Endereço:");

    jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ICONES/user-1.jpg"))); // NOI18N
    jButton1.setText("Cadastrar");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton1ActionPerformed(evt);
        }
    });

    jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ICONES/pencil.jpg"))); // NOI18N
    jButton2.setText("Editar");
    jButton2.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton2ActionPerformed(evt);
        }
    });

    jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ICONES/document-1.jpg"))); // NOI18N
    jButton3.setText("Deletar");
    jButton3.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton3ActionPerformed(evt);
        }
    });

    jButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ICONES/cancel.jpg"))); // NOI18N
    jButton4.setText("Limpar");
    jButton4.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton4ActionPerformed(evt);
        }
    });

    txtPesquisar.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyReleased(java.awt.event.KeyEvent evt) {
            txtPesquisarKeyReleased(evt);
        }
    });

    jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ICONES/cursor.jpg"))); // NOI18N
    jLabel5.setText("Buscar");

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addContainerGap()
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jScrollPane1)
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel1)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(txtCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel2)
                                .addGap(18, 18, 18)
                                .addComponent(txtNome, javax.swing.GroupLayout.PREFERRED_SIZE, 410, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel3)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(txtTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel4)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(txtEndereco)))
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(txtPesquisar, javax.swing.GroupLayout.PREFERRED_SIZE, 583, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jLabel5)))
                    .addGap(0, 0, Short.MAX_VALUE)))
            .addContainerGap())
    );

    layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jButton1, jButton2, jButton3, jButton4});

    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(txtPesquisar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jLabel5))
            .addGap(18, 18, 18)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabel1)
                .addComponent(txtCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabel2)
                .addComponent(txtNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabel3)
                .addComponent(txtTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabel4)
                .addComponent(txtEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(18, 18, 18)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jButton1)
                .addComponent(jButton2)
                .addComponent(jButton3)
                .addComponent(jButton4))
            .addContainerGap())
    );

    layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jButton1, jButton2, jButton3, jButton4});

    layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel5, txtPesquisar});

    pack();
}// </editor-fold>                        

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    editarDesbravadores();
}                                        

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    cadastrarDesbravadores();
}                                        

//Evento para quando começar a digitar
private void txtPesquisarKeyReleased(java.awt.event.KeyEvent evt) {                                         
    pesquisarDesbravadores();
}                                        

private void tblDesbravadoresMouseClicked(java.awt.event.MouseEvent evt) {                                              
    mostrarItens();
}                                             

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    limparCampos();
}                                        

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    deletarDesbravadores();
}                                        


// Variables declaration - do not modify                     
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable tblDesbravadores;
private javax.swing.JTextField txtCodigo;
private javax.swing.JTextField txtEndereco;
private javax.swing.JTextField txtNome;
private javax.swing.JTextField txtPesquisar;
private javax.swing.JFormattedTextField txtTelefone;
// End of variables declaration

}

Mensagens: 1

Participantes: 1

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>