galera to entrando em parafuso já.
quando clico no meu JCheckBox ele chama meu metodo
@Override
public void tableChanged(TableModelEvent e) {
TableModelEvent.UPDATE:
int linha = tabela.getSelectedRow();
Object obj = modelo.getValueAt(linha, 0);
System.out.println(obj);
tipo = "UPDATE";
}
mas não consigo pegar a linha selecionada.
Qual mensagem aparece no seu System.out.println()
?
ele da erro, pq a linha está retornado -1.
creio que ao dar um clique no JCheckBox dentro da minha JTable ele não seleciona a linha.
seria isto? se for como pegar a linha clicando apenas no JCheckBox?
como você está chamando o evento ao clicar no checkbox? (actionperformed)??
Se for actionperformed, tenta itemstatechanged…
Não, não tenha a chamada de um Jbutton.
Eu retorno da minha Model do metodo getColumnClass um tipo Boolean.class e ele popula a minha JTable já com os CheckBox
Quando eu clico no Chebox ele chama o método
public void TableChanged(TableModelEvent e){
// creio que aqui ele tenha que chamar a linha onde o JcheckBox foi clicado para chamar meu DAO
}
como eu consigo pegar a linha e os objetos nesta linha é com este código
// pega linha e a coluna da JTable e o conteudo da linha
tabela.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
@Override
public void valueChanged(ListSelectionEvent arg0) {
linha = tabela.getSelectedRow();
if( linha != -1){
Object obj1 = tabela.getValueAt(linha, 0);
Object obj = tabela.getValueAt(linha, 2);
System.out.println(obj1 + ""+ obj);
}
}});
o que é mostrado no System.out.println é o obj1 que está na linha onde o JcheckBox foi clicado na coluna 0
e o obj é mostrado o valor do JcheckBox no caso true.
assim funciona blzinha mais creio que o modo de fazer está errado.
se alguem puder responder se está certo fico grato