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.