@root360 escreveu:
Boa tarde galera, estou estudando java tenho muitas dificuldades, tenho um formulário de cadastro de produto (InternalFrame) e um botão Pesquisar que abre um InternalFrame está abrindo normal e pesquisando o produto sem problema, minha dificuldade é a seguinte quando eu pesquiso ele joga os resultado da na tabela, queria fazer nesse formulário de pesquisa tem um botão (Ok) queria saber como faz para quando o usuário selecionar o registro na tabela e clicar no botão (Ok) ele joga os registros no Formulário original já com os campos carregados.
Meu ModeloTabela
package br.com.sis.model; import java.util.ArrayList; import java.util.List; import javax.swing.table.AbstractTableModel; public class ModelTableProduto extends AbstractTableModel { private final int COLUNA_ID = 0; private final int COLUNA_PRODUTO = 1; private final int COLUNA_QUANTIDADE = 2; private final int COLUNA_PRECO = 3; private List<ModelProduto> produtos; public ModelTableProduto() { produtos = new ArrayList(); } public ModelTableProduto(List<ModelProduto> lista) { this(); produtos.addAll(lista); } public int getRowCount() { return produtos.size(); } public int getColumnCount() { return 4; } @Override public Class getColumnClass(int columnIndex) { if (columnIndex == COLUNA_ID) { return String.class; } else if (columnIndex == COLUNA_PRODUTO) { return String.class; } else if (columnIndex == COLUNA_QUANTIDADE) { } else if (columnIndex == COLUNA_PRECO) { } return String.class; } @Override public String getColumnName(int column) { if (column == COLUNA_ID) { return "ID"; } else if (column == COLUNA_PRODUTO) { return "PRODUTO"; } else if (column == COLUNA_QUANTIDADE) { return "QTD"; } else if (column == COLUNA_PRECO) { return "Preço"; } return ""; } @Override public Object getValueAt(int rowIndex, int columnIndex) { ModelProduto p = produtos.get(rowIndex); if (columnIndex == COLUNA_ID) { return p.getId(); } else if (columnIndex == COLUNA_PRODUTO) { return p.getNomepruduto(); } else if (columnIndex == COLUNA_QUANTIDADE) { return p.getQuantidade(); } else if (columnIndex == COLUNA_PRECO) { return p.getPreco(); } return ""; } @Override public boolean isCellEditable(int rowIndex, int columnIndex) { return false; } @Override public void setValueAt(Object aValue, int rowIndex, int columnIndex) { ModelProduto p = produtos.get(rowIndex); if (columnIndex == COLUNA_ID) { } else if (columnIndex == COLUNA_PRODUTO) { p.setNomepruduto(aValue.toString()); } else if (columnIndex == COLUNA_QUANTIDADE) { p.setQuantidade(aValue.toString()); } else if (columnIndex == COLUNA_PRECO) { } fireTableCellUpdated(rowIndex, columnIndex); } }
Modelo Produto com get e set
package br.com.sis.model; public class ModelProduto { private int id; private String nomepruduto; private String quantidade; public double getPreco() { return preco; } public void setPreco(double preco) { this.preco = preco; } private double preco; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNomepruduto() { return nomepruduto; } public void setNomepruduto(String nomepruduto) { this.nomepruduto = nomepruduto; } public String getQuantidade() { return quantidade; } public void setQuantidade(String quantidade) { this.quantidade = quantidade; } }
ProdutoDAO
package br.com.sis.controller; import br.com.sis.conexao.ConnectionFactory; import br.com.sis.model.ModelProduto; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.swing.JOptionPane; public class ProdutoDAO { public List<ModelProduto> buscarProduto(String p) { try { Connection conn = ConnectionFactory.getConnection(); PreparedStatement pst = conn.prepareStatement("select * from produto where produto ilike '%" + p + "%'"); ResultSet rs = pst.executeQuery(); List<ModelProduto> result = new ArrayList<ModelProduto>(); while (rs.next()) { ModelProduto t = new ModelProduto(); t.setId(rs.getInt("id")); t.setNomepruduto(rs.getString("produto")); t.setQuantidade(rs.getString("quantidade")); t.setPreco(rs.getDouble("preco")); result.add(t); } return result; } catch (SQLException e) { JOptionPane.showMessageDialog(null, "Erro ao buscar os Produtos" + e.getMessage()); return null; } } public void SalvarRegistro(ModelProduto modelo) { try { Connection conn = ConnectionFactory.getConnection(); String sql = "insert into produto(produto,quantidade,preco) values(?,?,?)"; PreparedStatement pst = conn.prepareStatement(sql); pst.setString(1, modelo.getNomepruduto()); pst.setString(2, modelo.getQuantidade()); pst.setDouble(3, modelo.getPreco()); pst.execute(); JOptionPane.showMessageDialog(null, "Salvo com sucesso"); } catch (Exception erro) { JOptionPane.showMessageDialog(null, "Erro ao salvar o registro" + erro.getMessage()); } } public void AtualizarRegistro(ModelProduto modelo) { try { Connection conn = ConnectionFactory.getConnection(); String sql = "update produto set id=?, produto=?, quantidade=?, preco=? where id=?"; PreparedStatement pst = conn.prepareStatement(sql); pst.setInt(1, modelo.getId()); pst.setString(2, modelo.getNomepruduto()); pst.setString(3, modelo.getQuantidade()); pst.setDouble(4,modelo.getPreco()); pst.setInt(5, modelo.getId()); pst.execute(); JOptionPane.showMessageDialog(null, "Alterado com sucesso"); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Erro ao salvar o registro" + e.getMessage()); } } public void ExcluirRegistro(ModelProduto modelo){ try { Connection conn = ConnectionFactory.getConnection(); String sql="delete from produto where produto=?"; PreparedStatement pst = conn.prepareStatement(sql); pst.setString(1,modelo.getNomepruduto()); pst.execute(); JOptionPane.showMessageDialog(null, "Excluido com sucesso \n"); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Erro na Exclusão: \n" + e.getMessage()); } } }
Mensagens: 3
Participantes: 2