Selecionar + Alterar + Excluir No JTable

Bom dia pessoal eu queria que voçês me ajudassem a colocar Um CheckBox + 2 Botões em minha JTable ja tentei várias exemplos da net até agora não consegui fazer nada funcionar ainda uns falam pra usar o TableModel, então eu queria uma ajuda pra min pode fazer isso em minha JTable, segue abaixo a inicialização da minha JTable:

    public DefaultTableModel inicializaJTable(DefaultTableModel defaultTableModel) {
        
        defaultTableModel = (DefaultTableModel) jTableConsultaPais.getModel();

        jTableConsultaPais.getColumnModel().getColumn(0).setPreferredWidth(100);
        jTableConsultaPais.getColumnModel().getColumn(1).setPreferredWidth(250);

        return defaultTableModel;

    }

Não use DefaultTableModel.

Na minha assinatura, ao lado do texto em vermelho, tem um link para diversos exemplos de como fazer um JTable funcionar.

Bom pessoal sera que alguém poderia me ajudar to tentando implementar com esses exemplos mais achu que não serve pra que eu to querendo fazer, eu quero fazer um JTable com a primeira coluna tento um CheckBox, um botão Alterar e outro Excluir. Será que alguém pode me dar uma ajuda por onde começar ai está a minha classe País aonde quero fazer um JTable em cima, so leigo ainda em java to com muita dificuldade nisso.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package suite.imobiliaria.modelo;

/**
 *
 * @author Ederson
 */
public class Pais {

    private int cdPais;
    private String noPais;
    
    public Pais (int cdPais, String noPais) {
        this.cdPais = cdPais;
        this.noPais = noPais;
    }
    
    public Pais () {
        
    }
    
    public int  getCdPais() {
        return cdPais;
    }

    public void setCdPais(Integer cdPais) {
        this.cdPais = cdPais;
    }

    public String getNoPais() {
        return noPais;
    }

    public void setNoPais(String noPais) {
        this.noPais = noPais;
    }

    @Override
    public String toString() {
        return this.noPais;
    }
    
}

Pois então ViniGodoy eu fiz isso até agora e já estou com várias duvidas:

1- Aonde eu vou colocar o CheckBox e os dois JButton ai, alguma das duas maneiras que tentei fazer é correta?
2- Eu queria que ficasse na mesma coluna um CheckBox + 2 JButton que irei usar para alterar e excluir.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package suite.imobiliaria.view;

import java.util.List;
import javax.swing.JButton;
import javax.swing.table.AbstractTableModel;
import suite.imobiliaria.modelo.Pais;

/**
 *
 * @author Ederson
 */
public class MTableModelPais extends AbstractTableModel {

    final private int COL_SELECAO = 0;
    final private int COL_CDPAIS = 1;
    final private int COL_NOPAIS = 2;
    private List<Pais> listPais;
    
    
    final String[] colunas = {"Seleção","Código","País"};
    final Object[][] celulas = {
                               {new Boolean(true), new JButton("Alterar"), new JButton("Excluir")},
                               };
    
    @Override
    public String getColumnName(int column) {
        //Qual O Nome Da Coluna
        if(column == COL_SELECAO) {
            return "Seleção";
        } else if (column == COL_CDPAIS) {
            return "Código";
        } else if (column == COL_NOPAIS) {
            return "País";
        }
        return "";
    }
    
    @Override
    public Class getColumnClass(int columnIndex) {
        //Retorna A Classe Que Representa A Coluna
        if(columnIndex == COL_SELECAO) {
            JButton jButtonAlterar = new JButton("Alterar");
            JButton jButtonExcluir = new JButton("Excluir");
            return Boolean.class;
        } else if (columnIndex == COL_CDPAIS) {
            return Integer.class;
        } else if (columnIndex == COL_NOPAIS) {
            return String.class;
        }
        return String.class;
    }
    
    @Override
    public int getColumnCount() {
        //Vamos Exibir Só Código E País, Então São 2 colunas
        return 2;
    }
    
    @Override
    public int getRowCount() {
        //Cada Produto Na Lista Será Uma Linha
        return listPais.size();
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        //Pega O País Da 
        Pais pais = listPais.get(rowIndex);
 
        //Verifica Qual Valor Deve Ser Retornado
        if (columnIndex == COL_NOPAIS) {
            return pais.getNoPais();
        }
        return "";
    }
    
    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        //No Nosso Caso Todas Vão Ser Editáveis, Entao Retorna false Pra Todas
        return false;
    }
    
}

Alguém pra me ajudar a ver como colocar esses Objetos no JTable ?

Alguém pra me ajudar como fazer pra min colocar Um CheckBox + 2 JButton dentro da mesma coluna ?