Olá galera, estou aqui novamente com dúvidas, mas agora com JTable.
Não consigo enviaro resultado de uma pesquisa para preencher uma linha de um JTable.
Lí outros tópicos mas não me ajudaram e ainda não vi esta parte na faculdade.
Este é meu código.
//AlunoGUI
package Gui;
import Dao.AlunoDAO;
import Modelo.Aluno;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class AlunoGUI extends javax.swing.JFrame {
private JTable tabela;
private DefaultTableModel modelo = new DefaultTableModel();
public AlunoGUI() {
initComponents();
}
private void CriaJTablet(){
tabela = new JTable(modelo);
modelo.addColumn("Matricula");
modelo.addColumn("Nome");
modelo.addColumn("Telefone");
tabela.getColumnModel().getColumn(0).setPreferredWidth(20);
tabela.getColumnModel().getColumn(1).setPreferredWidth(120);
tabela.getColumnModel().getColumn(2).setPreferredWidth(20);
}
//Aqui é a parte onde clico em um botão e ele deve incluir em uma linha do JTable
//O erro ocorre no ‘getObject’
private void Botao_incluirActionPerformed(java.awt.event.ActionEvent evt) {
Aluno alunos = new Aluno();
AlunoDAO dao = new AlunoDAO();
Integer numero = Integer.parseInt(textField1.getText());
alunos = dao.findById(numero);
modelo.addRow(new Object[] {alunos.getObject("aluno_id"), getObjetc("aluno_nome"), getObject("aluno_fone")});
}
//Esta é a parte que faz a pesquisa lá no AlunoDAO.
public Aluno findById(Integer id){
Aluno alunos = new Aluno();
String sql = "SELECT * FROM aluno WHERE aluno_id = ?;";
try {
java.sql.PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setInt(1, id);
ResultSet rs = stmt.executeQuery();
if(rs.next()){
alunos.setId(rs.getInt("aluno_id"));
alunos.setNome(rs.getString("aluno_nome"));
alunos.setLogradouro(rs.getString("aluno_logradouro"));
alunos.setBairro(rs.getString("aluno_bairro"));
alunos.setNumero(rs.getString("aluno_numero"));
alunos.setFone(rs.getString("aluno_fone"));
stmt.execute();
stmt.close();
} else {
JOptionPane.showMessageDialog(null,"Aluno não localizado!");
throw new SQLException("Registro não localizado (chave primária inexistente)!");
}
}catch(SQLException e){
throw new RuntimeException(e);
}
return alunos;
}
Desde já agradeço aos que responderem.
