Check box pegar os selecionados dentro da tabela

tenho uma tabela e naprimeira coluna tenho o checkbox, cada linha da tabela tem um checkbox quero pegar o codigo da linha selecionada e colocar eim um array list

List<Cliente> lista;
   ArrayList codigos;
  JCheckBox   Jcheckbox  = new JCheckBox ();  

aqui coloco elee dentro da tabela
TableColumn coluna_Jcheckbox = tabela.getColumnModel().getColumn(0) ;
coluna_Jcheckbox.setCellEditor( new DefaultCellEditor( Jcheckbox )); 

aqui pego o id da linha selecionada
    private int getid_cliente(){
    if(tabela.getSelectedRow() == -1) {
        JOptionPane.showMessageDialog(this, "Selecione uma linha da tabela.",
                "ERRO", JOptionPane.ERROR_MESSAGE);
        return 0;
    }
 DefaultTableModel modelo = (DefaultTableModel) tabela.getModel();
 Integer id = Integer.parseInt(modelo.getValueAt(tabela.getSelectedRow(), 1).toString());

    return id;

depois fiz um for do tamanho do retorno da minha lista da pesquiza
     for(Cliente cli:lista){
        
if (Jcheckbox.isSelected() == true){
  codigos.add(getid_cliente());
}
  }

nao funciona quando clico no botao para executar essa funcao
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException

o que poderia fazer para solucionar oproblema ???

Acho que este post pode lhe ajudar http://www.guj.com.br/posts/list/35542.java… considerando o que está escrito no post: se você colocar em uma célula um objeto tipo Boolean daí ele aparecerá como um checkbox. Depois quando ler os valores da tabela é só pegar o valor que a célula possui e se o ckeckbox estiver marcado você vai receber true, caso contrário false.

Att.

Muuito bom

olhei olink e nao consegui fazer alguem poderia explicar como fazer isso ???

Bom dia a todos.

Resta saber se o código da linha selecionada estar mesmo na coluna cujo index é 1, veja a linha do seu código abaixo:

   ....
   Integer id = Integer.parseInt(modelo.getValueAt(tabela.getSelectedRow(), 1).toString());
   ....

Se ele está acusando erro de “NullPointer”, significa que o valor que está na célula "tabela.getSelectedRow(),1 está nulo.

Outra coisa se voce está utilzando a instância “modelo” como referência do TableModel de sua tabela, então substitua “tabela.getSelectedRow()” por “modelo.getSelectedRow()”, assim:

   ....
   Integer id = Integer.parseInt(modelo.getValueAt(modelo.getSelectedRow(), 1).toString());
   ....

Acho que o post acima lhe ajuda a resolver… de qualquer forma segue um link para referência, com código segundo o post que eu havia lhe passado antes http://www.java2s.com/Code/Java/Swing-JFC/TablewithacustomTableModel.htm

Att.