Primeiramente, agradeço a todos se puderem me ajudar…
o meu problema é o seguinte…eu tenho uma tela de cadastro de cliente, a parte de cadastro esta feita…
porem quande eu vou fazer a parte de pesquisa…ja tentei de tudo…na hora que eu clico no botão pesquisar abre um novo frame onde
eu faço a pesquisa, porem eu não consigo trazer os dados da tabela que esta no frame pesquisar para o frame onde eu faço o cadastro…
agradeceria muito c alguem pudesse me ajudar… esses são os meus codigos de pesquisa!!!
frame pesquisa:
public class Pesq_cli extends javax.swing.JFrame {
DefaultTableModel tmCli = new DefaultTableModel(null, new String[]{"cod_seq", "nome"});
List<Cliente> cliente;
ListSelectionModel lsmCli;
public Pesq_cli() {
initComponents();
setLocationRelativeTo(null);
dispose();
}
private void jbokActionPerformed(java.awt.event.ActionEvent evt) {
try {
listaCli();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Não há Cliente com este Nome" + ex);
}
}
public void listaCli() throws SQLException {
ClienteDAO dao = new ClienteDAO();
cliente = dao.listar("%" + tfpesq.getText() + "%");
mostraPesq(cliente);
}
private void mostraPesq(List<Cliente> cliente) {
while (tmCli.getRowCount() > 0) {
tmCli.removeRow(0);
}
if (cliente.size() == 0) {
JOptionPane.showMessageDialog(null, "Não há Cliente com este Nome");
} else {
String[] linha = new String[]{null, null};
for (int i = 0; i < cliente.size(); i++) {
tmCli.addRow(linha);
tmCli.setValueAt(cliente.get(i).getCodigo(), i, 0);
tmCli.setValueAt(cliente.get(i).getNome(), i, 1);
}
}
}
classe dao listar cliente:
public List<Cliente> listar(String nome) throws SQLException{
String sql = "select * , date_format(data_nasc,'%d/%m/%Y') as dt from cad_cliente where nome like ?";
List<Cliente> lista = new ArrayList<Cliente>();
PreparedStatement ps = conexao.prepareStatement(sql);
ps.setString(1, nome);
ResultSet rs = ps.executeQuery();
while(rs.next()){
Cliente cliente = new Cliente();
cliente.setCodigo(rs.getInt("cod_seq"));
cliente.setNome(rs.getString("nome"));
cliente.setCpf(rs.getString("cpf"));
cliente.setRg(rs.getInt("rg"));
cliente.setFone(rs.getString("tel_residencial"));
cliente.setCel(rs.getString("tel_celular"));
cliente.setDatan(rs.getString("dt"));
cliente.setRua(rs.getString("rua"));
cliente.setNumero(rs.getInt("numero"));
cliente.setBairro(rs.getString("bairro"));
cliente.setCidade(rs.getString("cidade"));
cliente.setCep(rs.getString("cep"));
cliente.setUf(rs.getString("uf"));
cliente.setObs(rs.getString("observacao"));
lista.add(cliente);
}
return lista;
}
beans cliente:
public class Cliente {
private int codigo, rg, numero;
private String nome, cpf, fone, cel, rua, datan, bairro, cidade, cep, uf, obs;
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCel() {
return cel;
}
public void setCel(String cel) {
this.cel = cel;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getDatan() {
return datan;
}
public void setDatan(String datan) {
this.datan = datan;
}
public String getFone() {
return fone;
}
public void setFone(String fone) {
this.fone = fone;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public String getObs() {
return obs;
}
public void setObs(String obs) {
this.obs = obs;
}
public int getRg() {
return rg;
}
public void setRg(int rg) {
this.rg = rg;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
e tem esse codigo pos-inicialização que eu uso na tabela:
jtpesq.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
lsmCli = jtpesq.getSelectionModel();
lsmCli.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if (! e.getValueIsAdjusting()){
linhaSelecionada(jtpesq);
}
}
});