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;
}
}


