Como fazer para pegar indice da coluna selecionada da JTable

3 respostas
swing
G

Olá Pessoal! Eu tenho uma coluna booleana na minha JTable que é editavel, o que eu quero fazer agora é salvar no banco de dados ao clicar no checkbox da tabela, estou tentando fazer isso no evento de click do mouse entao ao clicar no checkbox verificar se a coluna é a coluna que eu quero que seja editada e se for, salvar no banco de dados, porém não sei como pegar o indice da coluna da fazer essa comparação.

Imagem da JTable

image

Código do evento do click do mouse

private void jtPontoMouseClicked(java.awt.event.MouseEvent evt) {                                     
    int colunaSelecionada = jtaApontamentos.getSelectedColumn();
    System.out.println("Coluna selecionada: " + colunaSelecionada); // retorna -1 deveria trazer o indice da coluna selecionada
    if (colunaSelecionada == apTableModel.COLUNA_VERIFICADO) {
        System.out.println("Salvar no banco de dados...");
    }
}

3 Respostas

L

Vc está usando DefaultTableModel? Se sim, recomendo vc criar sua própria implementação usando AbstractTableModel. Com isso, será mais fácil implementar isso que vc está querendo.

Exemplo usando AbstractTableModel: Como criar AbstractTableModel e interligar com o Mysql

G

Sim já estou usando abstract table model

G

Entendi qual é o problema, é que quando eu seleciono o checkbox a linha não fica selecionada, entao eu nao consigo pegar os dados da linha. Por isso o valor retornado em colunaSelecionada é -1.

Criado 24 de novembro de 2021
Ultima resposta 24 de nov. de 2021
Respostas 3
Participantes 2