Bom dia
Tenho os dados do banco de dados (mysql) mostrados em uma JTable . Gostaria de deixar a Jtable sensivel para eu clicar em um nome da tabela e aparecer a janela que eu inseri os dados da pessoa com esses dados , para eu atualizar.
Exemplo : Dados de uma JTable
Joao | 20 anos | Sao Paulo
Pedro | 10 anos | Rio de Janeiro
Maria | 15 anos | Sao Paulo
Eu gostaria de clicar em um campo (nome , idade ou cidade) e aparecer em uma janela , os dados da pessoa que eu inseri … no caso de eu querer atualizar os dados dela.
Vou mandar uma parte que é o código da JTable
import javax.swing.<em>;
import java.awt.</em>;
import javax.swing.table.<em>;
import java.sql.</em>;
public class Consulta_Jtable extends JFrame
{
Consulta_Jtable(){
super(“Consultar”);
setBounds(300,180,200,250);
final DefaultTableModel modelo = new DefaultTableModel();
// constrói a tabela
JTable tabela = new JTable(modelo);
// Cria duas colunas
modelo.addColumn("Matricula");
modelo.addColumn("Nome");
modelo.addColumn("Endereço");
modelo.addColumn("RG");
modelo.addColumn("Modalidade");
modelo.addColumn("Pagamento");
tabela.getColumnModel().getColumn(0).setPreferredWidth(5);
tabela.getColumnModel().getColumn(1).setPreferredWidth(70);
tabela.getColumnModel().getColumn(2).setPreferredWidth(100);
tabela.getColumnModel().getColumn(3).setPreferredWidth(30);
tabela.getColumnModel().getColumn(4).setPreferredWidth(80);
tabela.getColumnModel().getColumn(5).setPreferredWidth(10);
// exibe os dados da tabela MySQL
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/academia?user=root&password=admin");
// procedimentos para obter os dados de uma tabela
Statement stmt = conn.createStatement();
String query = "SELECT * FROM alunos order by matricula";
ResultSet rs = stmt.executeQuery(query);
while(rs.next()){
String matricula = rs.getString("matricula");
String nome = rs.getString("nome");
String endereco = rs.getString("endereco");
String rg = rs.getString("rg");
String modalidade = rs.getString("modalidade");
Double pagamento = rs.getDouble("pagamento");
modelo.addRow(new Object[]{matricula, nome, endereco, rg, modalidade, new Double(pagamento)});
}
// fim procedimento para obter os dados
}
catch(SQLException ex){
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
catch(Exception e){
System.out.println("Problemas ao tentar conectar com o banco de dados");
}
// fim MySQL
tabela.setPreferredScrollableViewportSize(new Dimension(850,350));
Container c = getContentPane();
c.setLayout(new FlowLayout());
JScrollPane scrollPane = new JScrollPane(tabela);
c.add(scrollPane);
setSize(1000,550);
setVisible(true);
}
}
O QUE EU TERIA QUE FAZER ???
Obrigado