JTable exclusão de dados no banco com checkbox

bem pessoal meu problema é o seguinte… Tenho uma tabela e nessa tabela mostram dados do banco em uma coluna
e na outra checkbox… Tenho um botão de exclusão… Ao pressionar o botão ele irá excluir as linhas “checadas”

OBS: a coluna do checkbox não é um item da tabela do banco de dados

Ótimo. Muitos sistemas são assim.

E… qual é o problema mesmo?

o problema é que eu ainda não pensei em como fazer a parte da exclusão quando o checkbox estiver "checado"
queria saber se alguém pode pelo menos dar uma luz aí :smiley:

Como tá o seu table model?Tá extendendo AbstractTableModel?Mexeu no seu getColumnClass?
Se o seu problema está sendo em pegar o evento, aí é o caso de implementar o seu TableModelListener.
Se não tá entendendo sequer o que eu estou lhe dizendo, recomendo essa leitura:
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
Tem códigos prontos lá.

Mas aconselho postar o seu código para dizer direto onde está a sua dúvida pois existe N formas de fazer, ou dizer como vc que essa exclusão seja feita(pegar uma única checkbox checada, ou mais de uma para ser excluída…essas coisas).

public class ModeloTabelaColaborador extends AbstractTableModel {
private List<ItemTableColaborador> colColaborador = new ArrayList<ItemTableColaborador>();
	
	
	String colunas[] = {"Número",""};


	public Colaborador getColaborador(int linha) {
		return colColaborador.get(linha).getColaborador();
	}

	public void setColColaborador(List<Colaborador> colmt) {
		colColaborador.clear();
		for(Colaborador cliente:colmt){
			ItemTableColaborador item = new ItemTableColaborador(cliente);
			colColaborador.add(item);
		}
		fireTableDataChanged();
	}
	
	public boolean isCellEditable(int row, int col) {
	    return true;
	  }

	public String getColumnName(int column) {
		return colunas[column];
	}

	public int getColumnCount() {
		return 2;
	}

	public int getRowCount() {
		return colColaborador.size();
	}
	
	public Class<?> getColumnClass(int columnIndex) {
		if(columnIndex==1)
			return Boolean.class;
		return super.getColumnClass(columnIndex);
	}
	
	@Override
	public void setValueAt(Object value, int rowIndex, int columnIndex) {
		switch (columnIndex) {
		case 1:
			colColaborador.get(rowIndex).setMarcado((Boolean)value);
		break;
		}
	}

	public Object getValueAt(int linha, int coluna) {
		Object valor = null;
		switch (coluna) {
		case 0:
			valor = colColaborador.get(linha).getColaborador().getNumero();
			break;
		case 1:
			valor = colColaborador.get(linha).isMarcado();
		break;
		}
		return valor;
	}
	
	class ItemTableColaborador {
		private Colaborador colaborador;
		private boolean marcado;
		public ItemTableColaborador(Colaborador colaborador) {
			this.colaborador = colaborador;
		}
		public Colaborador getColaborador() {
			return colaborador;
		}
		public void setColaborador(Colaborador colaborador) {
			this.colaborador = colaborador;
		}
		public boolean isMarcado() {
			return marcado;
		}
		public void setMarcado(boolean marcado) {
			this.marcado = marcado;
		}
	}
}

segue o código :slight_smile: