Olá!
Bom, faz pouco tempo comecei a mexer com swing, agora estou precisando atualizar uma tabela quando clico num botão que adiciona um registro no BD, e a tabela exibe esses registros, então queria que ao adicionar o registro a tabela atualizasse.
Já dei uma boa pesquisa no Google e no GUJ mesmo, tentei algumas coisas etc, mas não consegui resolver… agradeço ajuda se alguém puder!
Não sei se é necessário, mas vou colocar a parte do código referente à tabela e ao botão…
Código que busca os dados no BD e joga prum array e define a tabela (itens e colunas)
private void dadostbl() throws SQLException
{
Flex.fechacon(); // Flex >> métodos para conectar etc ao BD e retornar os valores
Flex.cnc();
int i, j =Flex.contaPessoa();
array = new Object[j][3]; //array = variável global criada anteriormente
for (i=0;i<j;i++)
{
Flex.ret();
array[i][0] = Flex.retnome();
array[i][1] = Flex.retdpto();
array[i][2] = Flex.rettel();
}
colunas = new String [] // colunas = variável global criada anteriormente
{
"Nome", "Departamento","Telefone"
};
}
Método que inicia os componentes da aplicação, colocando só a JTable
private void initComponents() throws SQLException {
dadostbl();
gridAgenda = new javax.swing.JTable();
btnOk_AdcContato = new javax.swing.JButton();
gridAgenda.setModel(new DefaultTableModel(array,colunas){
/**
*
*/
private static final long serialVersionUID = 1L;
boolean[] canEdit = new boolean [] {
false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
jScrollPane1.setViewportView(gridAgenda);
btnOk_AdcContato.setBackground(new java.awt.Color(220,220,220));
btnOk_AdcContato.setText("Ok");
btnOk_AdcContato.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(249, 249, 249), 1, true));
btnOk_AdcContato.setName("btnOk_AdcContato"); // NOI18N
btnOk_AdcContato.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
try {
btnOk_AdcContatoActionPerformed(evt);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
Função do botão!
protected void btnOk_AdcContatoActionPerformed(ActionEvent evt) throws SQLException {
// TODO Auto-generated method stub
String nome = txtNome.getText();
int telefone = Integer.parseInt(txtTelefone.getText());
String dpto = "";
dpto = cbDepto_adcContato.getSelectedItem().toString();
//System.out.println(dpto);
Flex.cnc();
Flex.cncPegaCOD(dpto);
Flex.insPessoa(nome, telefone, Flex.cod);
txtNome.setText("");
txtTelefone.setText("");
// tentativas xP
/* tblmd = new DefaultTableModel(array,colunas);
tblmd.setRowCount(0);
for(int i=0; i < gridAgenda.getRowCount(); i++ ){
((DefaultTableModel)gridAgenda.getModel()).removeRow(i);}
tblmd = new DefaultTableModel(array,colunas);
gridAgenda.setModel(tblmd);
for(int i=0; i < gridAgenda.getRowCount(); i++ ){
gridAgenda.repaint(i);}
*/
/* dadostbl();
DefaultTableModel tblmd = new DefaultTableModel(array,colunas);
gridAgenda.setModel(tblmd); */
Flex.clnMessage();
Flex.fechacon();
}