Amigão, obrigado pela ajuda, mas sinceramente, tenho uma dificuldade muito grande com tabelas, já tinha olhado a documentação mas não soube como proceder neste meu trabalho. Como eu poderia fazer?
package forms;
import dao.FuncionariosBrMetalsDao;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.sql.SQLException;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
import modelos.FuncionariosBrMetals;
/**
*
* @author marcus
*/
public class formularioConsulta extends javax.swing.JFrame {
DefaultTableModel tmConsulta = new DefaultTableModel(null, new String[]{"Situação", "Matrícula", "Nome do titular", "Dependentes", "Mensagem"});
List<FuncionariosBrMetals> funcionariosBrMetals;
ListSelectionModel lsmFuncionariosBrMetals;
DefaultTableModel tmListagem = new DefaultTableModel(null, new String[]{"Situação", "Matrícula", "Nome do titular", "Dependentes", "Mensagem"});
List<FuncionariosBrMetals> listagemCompleta;
ListSelectionModel lsmListagemCompleta;
/** Creates new form formularioConsulta */
public formularioConsulta() {
initComponents();
try {
consultaListagem();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Falha na conexão com o banco de dados. Entre em contato com o desenvolvedor.");
}
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
painelPrincipal = new javax.swing.JPanel();
labelTitulo = new javax.swing.JLabel();
painelConsulta = new javax.swing.JPanel();
labelPesquisaMatricula = new javax.swing.JLabel();
textFieldMatricula = new javax.swing.JTextField();
botaoPesquisaMatricula = new javax.swing.JButton();
labelTitular = new javax.swing.JLabel();
textFieldTitular = new javax.swing.JTextField();
botaoPesquisaNome = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
tabelaPesquisa = new javax.swing.JTable();
jPanel1 = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
tabelaListagem = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Listagem de funcionários :: BR Metals /+/LaraSoft");
labelTitulo.setFont(new java.awt.Font("Arial Black", 0, 18));
labelTitulo.setText("Listagem de funcionários :: BR Metals");
painelConsulta.setBorder(javax.swing.BorderFactory.createTitledBorder("Consulta de funcionários"));
labelPesquisaMatricula.setText("Matrícula:");
textFieldMatricula.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
textFieldMatriculaActionPerformed(evt);
}
});
botaoPesquisaMatricula.setText("Pesquisar matrícula");
botaoPesquisaMatricula.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
botaoPesquisaMatriculaActionPerformed(evt);
}
});
labelTitular.setText("Nome do titular:");
textFieldTitular.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
textFieldTitularActionPerformed(evt);
}
});
botaoPesquisaNome.setText("Pesquisar nome");
botaoPesquisaNome.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
botaoPesquisaNomeActionPerformed(evt);
}
});
tabelaPesquisa.setModel(tmConsulta);
tabelaPesquisa.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
lsmFuncionariosBrMetals = tabelaPesquisa.getSelectionModel();
;
jScrollPane1.setViewportView(tabelaPesquisa);
javax.swing.GroupLayout painelConsultaLayout = new javax.swing.GroupLayout(painelConsulta);
painelConsulta.setLayout(painelConsultaLayout);
painelConsultaLayout.setHorizontalGroup(
painelConsultaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(painelConsultaLayout.createSequentialGroup()
.addGroup(painelConsultaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(painelConsultaLayout.createSequentialGroup()
.addGroup(painelConsultaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(painelConsultaLayout.createSequentialGroup()
.addComponent(labelPesquisaMatricula)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(textFieldMatricula, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(botaoPesquisaMatricula))
.addGroup(painelConsultaLayout.createSequentialGroup()
.addComponent(labelTitular)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(textFieldTitular)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(botaoPesquisaNome))
.addGroup(painelConsultaLayout.createSequentialGroup()
.addGap(12, 12, 12)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 815, Short.MAX_VALUE)))
.addContainerGap())
);
painelConsultaLayout.setVerticalGroup(
painelConsultaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(painelConsultaLayout.createSequentialGroup()
.addGroup(painelConsultaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(labelPesquisaMatricula)
.addComponent(textFieldMatricula, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(botaoPesquisaMatricula))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(painelConsultaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(labelTitular)
.addComponent(textFieldTitular, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(botaoPesquisaNome))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Listagem completa"));
tabelaListagem.setModel(tmListagem);
tabelaListagem.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
lsmListagemCompleta = tabelaListagem.getSelectionModel();
;
jScrollPane2.setViewportView(tabelaListagem);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 815, Short.MAX_VALUE)
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 275, Short.MAX_VALUE)
.addContainerGap())
);
javax.swing.GroupLayout painelPrincipalLayout = new javax.swing.GroupLayout(painelPrincipal);
painelPrincipal.setLayout(painelPrincipalLayout);
painelPrincipalLayout.setHorizontalGroup(
painelPrincipalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(painelPrincipalLayout.createSequentialGroup()
.addContainerGap()
.addGroup(painelPrincipalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, painelPrincipalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(painelConsulta, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(labelTitulo)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
painelPrincipalLayout.setVerticalGroup(
painelPrincipalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(painelPrincipalLayout.createSequentialGroup()
.addComponent(labelTitulo)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(painelConsulta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
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()
.addComponent(painelPrincipal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(painelPrincipal, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
pack();
}// </editor-fold>
private void botaoPesquisaMatriculaActionPerformed(java.awt.event.ActionEvent evt) {
try {
consultaMatricula();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Matrícula não encontrada");
}
}
private void botaoPesquisaNomeActionPerformed(java.awt.event.ActionEvent evt) {
try {
consultaNome();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Nome não encontrado");
}
}
private void textFieldMatriculaActionPerformed(java.awt.event.ActionEvent evt) {
textFieldMatricula.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
botaoPesquisaMatricula.doClick();
}
}
});
}
private void textFieldTitularActionPerformed(java.awt.event.ActionEvent evt) {
textFieldTitular.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
botaoPesquisaNome.doClick();
}
}
});
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new formularioConsulta().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton botaoPesquisaMatricula;
private javax.swing.JButton botaoPesquisaNome;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JLabel labelPesquisaMatricula;
private javax.swing.JLabel labelTitular;
private javax.swing.JLabel labelTitulo;
private javax.swing.JPanel painelConsulta;
private javax.swing.JPanel painelPrincipal;
private javax.swing.JTable tabelaListagem;
private javax.swing.JTable tabelaPesquisa;
private javax.swing.JTextField textFieldMatricula;
private javax.swing.JTextField textFieldTitular;
// End of variables declaration
protected void consultaMatricula() throws SQLException {
FuncionariosBrMetalsDao dao = new FuncionariosBrMetalsDao();
funcionariosBrMetals = dao.getLista("%" + textFieldMatricula.getText() + "%");
mostraPesquisa(funcionariosBrMetals);
}
protected void consultaNome() throws SQLException {
FuncionariosBrMetalsDao dao = new FuncionariosBrMetalsDao();
funcionariosBrMetals = dao.getLista2("%" + textFieldTitular.getText() + "%");
mostraPesquisa(funcionariosBrMetals);
}
protected void consultaListagem() throws SQLException {
FuncionariosBrMetalsDao dao = new FuncionariosBrMetalsDao();
listagemCompleta = dao.getLista3(null);
mostraListagem(listagemCompleta);
}
private void mostraPesquisa(List<FuncionariosBrMetals> brmetals) {
while (tmConsulta.getRowCount() > 0) {
tmConsulta.removeRow(0);
}
if (brmetals.size() == 0) {
JOptionPane.showMessageDialog(null, "Funcionário não encontrado");
} else {
String[] linha = new String[]{null, null, null, null};
for (int i = 0; i < brmetals.size(); i++) {
tmConsulta.addRow(linha);
tmConsulta.setValueAt(brmetals.get(i).getSituacao(), i, 0);
tmConsulta.setValueAt(brmetals.get(i).getMatricula(), i, 1);
tmConsulta.setValueAt(brmetals.get(i).getNome(), i, 2);
tmConsulta.setValueAt(brmetals.get(i).getDependente(), i, 3);
tmConsulta.setValueAt(brmetals.get(i).getMensagem(), i, 4);
}
}
}
private void mostraListagem(List<FuncionariosBrMetals> brmetals) {
while (tmListagem.getRowCount() > 0) {
tmListagem.removeRow(0);
}
if (brmetals.size() == 0) {
JOptionPane.showMessageDialog(null, "Falha ao exibir a listagem");
} else {
String[] linha = new String[]{null, null, null, null};
for (int i = 0; i < brmetals.size(); i++) {
tmListagem.addRow(linha);
tmListagem.setValueAt(brmetals.get(i).getSituacao(), i, 0);
tmListagem.setValueAt(brmetals.get(i).getMatricula(), i, 1);
tmListagem.setValueAt(brmetals.get(i).getNome(), i, 2);
tmListagem.setValueAt(brmetals.get(i).getDependente(), i, 3);
tmListagem.setValueAt(brmetals.get(i).getMensagem(), i, 4);
}
}
}
}