Deletar mais de uma linha num JTable

lol… meu login existe ainda (faz tempo que não uso o fórum)… desculpe a brincadeira :lol:

Senhores, estou com o problema de remover mais de uma linha de uma JTable. Uma linha por vez até consigo, quer ver?

//Deletando uma linha por vez
    private void jTable1KeyPressed(java.awt.event.KeyEvent evt) {
        // TODO add your handling code here:
        if(evt.getKeyCode() == KeyEvent.VK_DELETE){            
            int cont = jTable1.getSelectedRow();
            DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
                model.removeRow(cont);
        }
    }

Blz… ai eu uso quase o mesmo código para tentar deletar mais de uma linha, olha lá:

//Deletando múltiplas linhas
    private void jTable1KeyPressed(java.awt.event.KeyEvent evt) {
        // TODO add your handling code here:
        if(evt.getKeyCode() == KeyEvent.VK_DELETE){            
            int cont[] = jTable1.getSelectedRows(); //Aqui deveria todos os índices das linhas selecionadas =(
            DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
            for(int i = 0;i<cont.length;i++){
                model.removeRow(cont[i]);
            }
        }
    }

O problema que o .getSelectedRows() só pega o índice da linha que eu cliquei. Se eu der um SHIFT+ PraCima ou SHIFT+ PraBaixo também não funciona.

Acho que está claro a dúvida. Se alguém me ajudar eu agradeço!

Flws! :wink:

Bem vindo de volta :stuck_out_tongue:

Se voce não estivesse usando o DefaultTableModel voce poderia apenas limpar seu modelo.

[quote=Marky.Vasconcelos]Bem vindo de volta :stuck_out_tongue:

Se voce não estivesse usando o DefaultTableModel voce poderia apenas limpar seu modelo.[/quote]

Morte ao DefaultTableModel…

@Cornelius
http://www.guj.com.br/java/149034-duvidas-ao-fazer-uma-consulta#808003

Bom, resumindo os posts de vocês o problema é que eu uso o DefaultTableModel. Vou dar uma lida com calma sobre como fazer meu próprio Model.

Desde já agradeço!

@Cornelius

ve o link q mandei ae aprendi a fazer um model muito de boa !

Senhores, dei uma olhada nos links que foram passados e tals… até vou fazer meu próprio MeuTableModel… mas não sei se isso é o foco do problema!

Mesmo usando o MeuTableModel ou o DefaultTableModel quando eu usar o
model.removeRow(indiceDaLinhaASerDeletada) vou precisar de todos os índices que o .getSelectedRows() do JTable vai me fornecer, para remover as linhas selecionadas.

Será que o MeuTableModel pode me fornecer o que preciso? (linhas a serem deletadas) Ou será que eu terei que usar outro Listerner da vida?

Voce ainda precisa deletar invertido

  for(int i = cont.length - 1 ; i >= 0; i--) 
                model.removeRow(cont[i]);  

E ai gente, mesmo alterando o TableModel não consigo deletar mais de uma linha, alguma idéia? Tenho que usar outro listerner para pegar TODAS AS LINHAS que preciso deletar???

Poste seu TableModel.

Mostre nos o seu TableModel