@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.jarpublic 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