ok, vou mandar o codigo fonte, assim acho q fica mais facil pra vc, esse e da tela de consulta
package sistema.telas;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import sistema.BancoDeDados;
import sistema.entidades.Cargo;
//Criaremos a classe CargosConsultar a partir da linha 25, Conforme a indicação no codigo.
public class CargosConsultar extends JPanel {
Cargo cargoAtual;
JLabel labelTitulo, labelCargo;
JTextField campoCargo;
JButton botaoPesquisar, botaoEditar, botaoExcluir;
DefaultListModel<Cargo> listasCargosModelo = new DefaultListModel();
JList<Cargo> listaCargos;
public CargosConsultar() {
criarComponentes();
criarEventos();
}
private void criarComponentes() {
setLayout(null); // Definimos que não será usado nenhum gerenciador de layout.
//Nas linhas 43 a 55, instanciamos os componentes da tela.
labelTitulo = new JLabel("Consulta de Cargos", JLabel.CENTER);
labelTitulo.setFont(new Font(labelTitulo.getFont().getName(), Font.PLAIN, 20));
labelCargo = new JLabel("Nome do cargo", JLabel.LEFT);
campoCargo = new JTextField();
botaoPesquisar = new JButton("Pesquisar Cargo");
botaoEditar = new JButton("Editar Cargo");
botaoEditar.setEnabled(false);
botaoExcluir = new JButton("Excluir Cargo");
botaoExcluir.setEnabled(false);
listasCargosModelo = new DefaultListModel();
listaCargos = new JList();
listaCargos.setModel(listasCargosModelo);
listaCargos.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
//Nas linhas 58 a 64, definimos o posicionamento e o tamanho dos componentes na tela.
labelTitulo.setBounds(20, 20, 660, 40);
labelCargo.setBounds(150, 120, 400, 20);
campoCargo.setBounds(150, 140, 400, 40);
botaoPesquisar.setBounds(560, 140, 130, 40);
listaCargos.setBounds(150, 200, 400, 240);
botaoEditar.setBounds(560, 360, 130, 40);
botaoExcluir.setBounds(560, 400, 130, 40);
//Nas linhas 67 a 72 adicionamos os componentes a tela.
add(labelTitulo);
add(labelCargo);
add(campoCargo);
add(listaCargos);
add(botaoPesquisar);
add(botaoEditar);
add(botaoExcluir);
//Tornando a tela visível.
setVisible(true);
}
private void criarEventos() {
botaoPesquisar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sqlPesquisarCargos(campoCargo.getText());
}
});
botaoEditar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
/*Nas linha 95 a 100 , definimos que, ao ser acionado, o botão Excluir Cargo irá
chamar o método sqlDeletarCargo.*/
botaoExcluir.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sqlDeletarCargo();
}
});
/*Nas 103 a 116, definimos que, ao se selecionar algum cargo na lista, este será
armazenado na variável cargoAtual, e os botões Editar Cargo e Excluir Cargo serão habilitados. */
listaCargos.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
cargoAtual = listaCargos.getSelectedValue();
if(cargoAtual == null) {
botaoEditar.setEnabled(false);
botaoExcluir.setEnabled(false);
}else {
botaoEditar.setEnabled(true);
botaoExcluir.setEnabled(true);
}
}
});
}
/*Nas linhas 118 a 147, realizamos a conexão com o banco de dados para obtermos, por meio dele, todos os cargos
cadastrados e adicioná-los à lista de seleção.*/
private void sqlPesquisarCargos(String nome) {
//Conexão
Connection conexao;
//Instrução SQL
Statement instrucaoSQL;
//Resultados
ResultSet resultados;
try {
// Conectando ao banco de dados
conexao = DriverManager.getConnection(BancoDeDados.stringDeConexao, BancoDeDados.usuario, BancoDeDados.senha);
// Criando A intrução SQL
instrucaoSQL = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
resultados = instrucaoSQL.executeQuery("SELECT * FROM cargos WHERE nome like '%"+nome+"%'");
listasCargosModelo.clear();
while (resultados.next()) {
Cargo cargo = new Cargo();
cargo.setId(resultados.getInt("id"));
cargo.setNome(resultados.getString("nome"));
listasCargosModelo.addElement(cargo);
}
}catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Ocorreu um erro ao consultas os Cargos.");
Logger.getLogger(CargosInserir.class.getName()).log(Level.SEVERE, null, ex);
}
}
/*Ao ser acionado o botão Excluir Cargo irá executar o método sqlDeletarCargo. na sintaxe das linhas 149 a 171, podemos ver que esse método irá
irá se conectar com o banco de dados e executar a instrução SQL que irá remover o cargo selecionado.*/
private void sqlDeletarCargo() {
int confirmacao = JOptionPane.showConfirmDialog(null, "Deseja realmente excluir o Cargo "+cargoAtual.getNome()+"?", "Excluir", JOptionPane.YES_NO_OPTION);
if(confirmacao == JOptionPane.YES_OPTION) {
// Conexão
Connection conexao;
// Intrução SQL
Statement instrucaoSQL;
// Resultados
ResultSet resultados;
try {
// Conectando ao banco de dados
conexao = DriverManager.getConnection(BancoDeDados.stringDeConexao, BancoDeDados.usuario, BancoDeDados.senha);
// Criando a instrução SQL
instrucaoSQL = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
instrucaoSQL.executeUpdate("DELETE cargos WHERE id="+cargoAtual.getId()+"");
JOptionPane.showMessageDialog(null, "Cargo deletado com sucesso!");
} catch(SQLException ex) {
JOptionPane.showMessageDialog(null, "Ocorreu um erro ao excluir o Cargo.");
Logger.getLogger(CargosInserir.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}Texto pré-formatado