galera da uma olhada no código abaixo
estou querendo que quando o usuário clicar no registro do jtable
ele chame o form com o cadastro do veiculo mostrando todos os dados do veiculo que foi cadastrado no banco de dados
eu listar por meio da pesquisa de codigo o registro no jtable mas quando da o clique no registro o form está vindo vazio!
quem puder ajuda ae !
obrigado
o código está abaixo!
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
/**
*
* @author cliente
*/
public abstract class Form_cons_veiculo extends javax.swing.JFrame implements ActionListener, MouseListener {
private DefaultTableModel modelo;
private List<Veiculo> lista;
private JScrollPane scroll;
/** Creates new form Form_cons_veiculo */
public Form_cons_veiculo() {
initComponents();
}
private void Exemplo() {
lista = new ArrayList<Veiculo>();
// iniciando a tabela
String[] cabecalho ={"descricao","placa","marca"};
modelo = new DefaultTableModel(null, cabecalho);
jTable_cons_veiculo = new JTable(modelo) {
@Override
public boolean isCellEditable(int rowIndex, int vColIndex) {
return false;
}
};
jTable_cons_veiculo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
scroll = new JScrollPane(jTable_cons_veiculo);
// adjust size and set layout
setPreferredSize(new Dimension(640, 480));
setLayout(null);
setVisible(true);
add(scroll);
scroll.setBounds(80, 410, 350, 60);
jTable_cons_veiculo.addKeyListener((KeyListener) this);
}
public void getVeiculos(int cod_veiculo){
// consulta os veiculos que compoem a tabela
Conexao conecta = new Conexao();
conecta.conecta_bd();
String SQL = "SELECT ve_descricao, sec_descricao, cod_veiculo, placa FROM cad_veiculos WHERE cod_veiculo =" + cod_veiculo + " ";
conecta.executeSQL(SQL);
DefaultTableModel model = (DefaultTableModel) jTable_cons_veiculo.getModel();
model.setNumRows(0);
try {
boolean proximo_registro = conecta.resultset.next();
if (!proximo_registro) {
JOptionPane.showMessageDialog(null, "Veiculo não existe ");
} else {
do {
//Aqui você adiciona os campos do banco de dados no jTable.
model.addRow(new Object[]{conecta.resultset.getString("ve_descricao"), conecta.resultset.getString("sec_descricao"), conecta.resultset.getInt("cod_veiculo")});
}
while (conecta.resultset.next());
}
conecta.resultset.first();
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, "Erro ao listar o jTable " + erro);
}
}
@Override
@SuppressWarnings({"deprecation", "deprecation"})
public void mouseClicked(MouseEvent arg0) {
int x = jTable_cons_veiculo.getSelectedRow(); // captura a linha selecionada
Form_veiculo frm = new Form_veiculo(lista.get(x)); //cria o formulario e envia o objeto no construtor *** FOI CRIADO O METODO
CONSTRUTOR PADRÃO DO NETBEANS NO FORM DO CADASTRO DO VEICULO*****
frm.visRegistro();for (Veiculo veiculo : lista) {
veiculo.getDescricao();
}
}