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

Utilização de uma JTable para listar a consulta do banco

$
0
0

@moisesdcruz escreveu:

Tenho uma JTable onde quero listar a pesquisa de todos os grupos cadastrados no banco de dados nela. Criei a JTable com o evento do botao pesquisa mas nao me retorna nada e nem apresenta aviso de error.
Segue imagem e codigo abaixo:

classe de cadastro de grupos:

package gui;

import dao.GruposDAO;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import static javax.swing.SwingConstants.BOTTOM;
import static javax.swing.SwingConstants.CENTER;
import static javax.swing.SwingConstants.TOP;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
//import javax.swing.table.TableModel;
import modelo.Grupos;

/**
 *
 * @author Moises
 */
public class CadastrarGrupo extends JPanel{
    private JPanel pnPrincipal, pnTabela;
    private JLabel lbCodigo, lbGrupo;
    private JFormattedTextField tfGrupo, tfCodigo;
    private JButton btGravar, btAlterar, btBuscar, btExcluir;
    private JScrollPane sp;
    private JTable tbTabela;    
    private GruposDAO grupos;   
    
    
    public CadastrarGrupo(){        
        inicializarComponentes();
        definirEventos();        
    }
//Declaracao do componentes da janela.
    private void inicializarComponentes() {
         String userName = System.getProperty("user.home");
         setLayout(null);
         setBounds(20, 10, 690, 600);         
         lbCodigo = new JLabel("Código:");
         lbGrupo = new JLabel("Grupo:");
         tfGrupo = new JFormattedTextField();
         tfCodigo = new JFormattedTextField();
         btGravar = new JButton();
         btGravar.setIcon(new ImageIcon(userName+"/Documents/NetBeansProjects/Estoki/imagem/gravar.png"));
         btGravar.setHorizontalTextPosition(CENTER);
         btGravar.setVerticalAlignment(TOP);
         btGravar.setVerticalTextPosition(BOTTOM);
         btAlterar = new JButton();
         btAlterar.setIcon(new ImageIcon(userName+"/Documents/NetBeansProjects/Estoki/imagem/alterar.png"));
         btAlterar.setHorizontalTextPosition(CENTER);
         btAlterar.setVerticalAlignment(TOP);
         btAlterar.setVerticalTextPosition(BOTTOM);
         btBuscar = new JButton();
         btBuscar.setIcon(new ImageIcon(userName+"/Documents/NetBeansProjects/Estoki/imagem/buscar.png"));
         btBuscar.setHorizontalTextPosition(CENTER);
         btBuscar.setVerticalAlignment(TOP);
         btBuscar.setVerticalTextPosition(BOTTOM);
         btExcluir = new JButton();
         btExcluir.setIcon(new ImageIcon(userName+"/Documents/NetBeansProjects/Estoki/imagem/excluir.png"));
         btExcluir.setHorizontalTextPosition(CENTER);
         btExcluir.setVerticalAlignment(TOP);
         btExcluir.setVerticalTextPosition(BOTTOM);
         lbCodigo.setBounds(10, 10, 42, 20);
         tfCodigo.setBounds(58, 10, 42, 20);
         lbGrupo.setBounds(110, 10, 40, 20);
         tfGrupo.setBounds(153, 10, 200, 20);
         btGravar.setBounds(20, 60, 30, 30);
         btAlterar.setBounds(60, 60, 30, 30);
         btBuscar.setBounds(100, 60, 30, 30);
         btExcluir.setBounds(140, 60, 30, 30);
         pnPrincipal = new JPanel();
         pnPrincipal.setLayout(null);
         pnPrincipal.setBounds(0, 0, 680, 480);
         pnPrincipal.add(lbCodigo);
         pnPrincipal.add(tfCodigo);
         pnPrincipal.add(lbGrupo);
         pnPrincipal.add(tfGrupo);
         pnPrincipal.add(btGravar);
         pnPrincipal.add(btAlterar);
         pnPrincipal.add(btBuscar);
         pnPrincipal.add(btExcluir);
         grupos = new GruposDAO();         
         if(!grupos.bd.geteConnection()){
             JOptionPane.showMessageDialog(null, "Falha na conexao, o sistema sera fechado!");
             System.exit(0);
         }

         
        pnTabela = new JPanel(new BorderLayout());
        pnTabela.setBorder(new TitledBorder("Grupos"));
        sp = new JScrollPane();
         
         DefaultTableModel tableModel = new DefaultTableModel(
          new String[] {"Código","Grupo"},0){
          public boolean isCellEdtable(int row,int col){
                if(col == 2){
                    return false;
                }
                return true;
            }    
          };
        tbTabela = new JTable(tableModel);
        DefaultTableCellRenderer alinhaDireita;
        alinhaDireita = new DefaultTableCellRenderer();
        alinhaDireita.setHorizontalAlignment(SwingConstants.RIGHT);
        tbTabela.getColumnModel().getColumn(0).setResizable(false);
        tbTabela.getColumnModel().getColumn(0).setPreferredWidth(30);
        tbTabela.getColumnModel().getColumn(1).setResizable(false);
        tbTabela.getColumnModel().getColumn(1).setPreferredWidth(170);
        tbTabela.getColumnModel().getColumn(1).setCellRenderer(alinhaDireita);        
        tbTabela.getTableHeader().setReorderingAllowed(false);
        
        
        sp.setViewportView(tbTabela);
        pnTabela.add(sp);
        pnTabela.setBounds(10, 100, 650, 230);
        pnPrincipal.add(pnTabela);
        add(pnPrincipal);        
         
        }    

    private void definirEventos() { 
        btGravar.addActionListener(new ActionListener() {
            

            @Override
            public void actionPerformed(ActionEvent ae) {                
                if(tfCodigo.getText().equals("")||tfGrupo.getText().equals("")){
                    JOptionPane.showMessageDialog(null, "Preencha todos os campos!","AVISO", JOptionPane.INFORMATION_MESSAGE);
                    return;
                }else{
                    grupos.grupo.setCodigo(tfCodigo.getText());
                    grupos.grupo.setGrupo(tfGrupo.getText());
                    JOptionPane.showMessageDialog(null, grupos.atualizar(GruposDAO.INCLUSAO));
                    limparCampos();
                }                
            }
       });
        btBuscar.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                String grupo = tfGrupo.getText();
                if(!grupo.equals("")){
                buscarGrupo();
                }
            }            

            private void buscarGrupo() {
                DefaultTableModel tableModel = (DefaultTableModel) tbTabela.getModel();
                
                GruposDAO grupdao = new GruposDAO();                
                
                for(Grupos p: grupdao.buscarTodos()){
                   tableModel.addRow(new Object[]{
                       grupos.grupo.getCodigo(),
                       grupos.grupo.getGrupo()                       
                   });                
            }
                 
            }
        });
    }
    private void limparCampos() {
        tfCodigo.setText("");
        tfGrupo.setText("");
    }
}

classe DAO:

package dao;


import bd.BD;
//import gui.CadastrarGrupo;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import modelo.Grupos;

/**
 *
 * @author Moises
 */
public class GruposDAO {
    public Grupos grupo;
    public BD bd;    
    private PreparedStatement statement;
    private ResultSet resultSet = null;
    private String men, sql;
    public static final byte INCLUSAO = 1;
    public static final byte ALTERACAO = 2;
    public static final byte EXCLUSAO = 3;    
    
    public GruposDAO(){
        bd = new BD();
        grupo = new Grupos();        
    }    
    
        

    public Object atualizar(int operacao) {
        men = "Operacao realizada com sucesso!";
        try{
            if(operacao==INCLUSAO){
            sql = "insert into tb_grupos (cod_grupo, grupo) values(?,?)";
            statement = bd.connection.prepareStatement(sql);
            statement.setString(1, grupo.getCodigo());
            statement.setString(2, grupo.getGrupo());            
            }
            if(statement.executeUpdate()==0)
                men = "Falha na operecao!";
        }
        catch(SQLException erro){
            men = "Falha na operacao "+ erro.toString();
        }
        return men;
    }
    public List<Grupos> buscarTodos(){
        //criado a lista grupos.
       List<Grupos> grupos = new ArrayList<Grupos>();
       
        try{
            sql = "select * from tb_grupos";
            statement = bd.connection.prepareStatement(sql);
            //resultset vai receber a pesquisa do a pesquisa do executequery.
            resultSet = statement.executeQuery();
            while(resultSet.next()){
                resultSet.first();            
                //Instanciando o objeto grupo.
                Grupos grupo = new Grupos();
                //Objeto grupo receber a pesquisas do resultset.
                grupo.setCodigo(resultSet.getString("cod_grupo"));
                grupo.setGrupo(resultSet.getString("grupo"));
                grupos.add(grupo);               
            } 
        } catch (SQLException ex) {
            ex.printStackTrace();
            Logger.getLogger(GruposDAO.class.getName()).log(Level.SEVERE, null, ex);
        }        
        return grupos;       
    }    
}

Mensagens: 4

Participantes: 3

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>