Olá pessoal, gostaria humildemente pedir ajudas.
To fazendo um cadastro de clientes e estou com problemas no meu Jtable, o caso é o seguinte:
Consigo buscar e montar a tabela tudo certo, mas quando vou deletar um item da tabela ela não me obedece mais.
veja o código abaixo:
package View;
import Dao.ClienteDao;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.event.*;
import java.awt.*;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import modelo.Cliente;
public class tabelaClientes extends JFrame {
private JTable tabela;
private DefaultTableModel tabelaModelo;
public tabelaClientes() {
super("Tabela de Clientes");
String[] col = {"Codigo ", "Nome Cliente ", "Telefone", "Celular"};
tabelaModelo = new DefaultTableModel(col, 0);
tabela = new JTable(tabelaModelo) {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
criaJtable();
tabela.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
int linha = tabela.getSelectedRow();
int coluna = tabela.getSelectedColumn();
System.out.println("o codigo da linha é " + linha + " o código da coluna é : " + coluna);
removeItens(linha);
}
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
});
setSize(700, 600);
setLocationRelativeTo(null);
}
private void criaJtable() {
ClienteDao cli = new ClienteDao();
List clientes = cli.buscarTodos();
for (Object c : clientes) {
Cliente cl = (Cliente) c;
tabelaModelo.addRow(new Object[]{cl.getId(), cl.getNome(), cl.getTelefone(), cl.getCelular()});
}
JScrollPane pane = new JScrollPane(tabela, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
getContentPane().add(pane, BorderLayout.CENTER);
getContentPane().add(new JLabel("Tabela de Clientes"), BorderLayout.NORTH);
setVisible(
true);
}
public void removeItens(int linha) {
System.out.println("Ta removendo o item da linha" + linha);
((DefaultTableModel) tabela.getModel()).removeRow(linha);
criaJtable();
}
public static void main(String[] args) {
tabelaClientes tb = new tabelaClientes();
tb.setVisible(true);
}
}
se eu coloquei esse assunto em um lugar inadequado desculpe o meu amadorismo aqui. mas peço ajuda.