Preciso excluir as linhas selecionadas de um jtable. Mas não estou conseguindo. Estou utilizando o DefaultTableModel, pra estudo. Li em alguns tópicos que precisaria fazer um for que apague as linhas de maior índice pra menor. Poderiam me dar um exemplo de como fazer?
*Código que utilizo pra apagar a linha digitada:
int linha = jtbVendas.getSelectedRow();
DefaultTableModel modelo = (DefaultTableModel) jtbVendas.getModel();
modelo.removeRow(linha);
Como você popula (preenche) a JTable? Supondo que seja através de uma lista (List/ArrayList), você pode apagar o item da lista e recarregar a JTable. Dê-nos mais detalhes.
if (jtfNomeDependente.getText().equals("") || jtfGrauParentesco.getText().equals("")) {
JOptionPane.showMessageDialog(this, "Você deve preencher todos os campos!", "Atenção", JOptionPane.WARNING_MESSAGE);
} else {
//adicionar uma linha na tabela
DefaultTableModel modelo = (DefaultTableModel) jtbDependenteLista.getModel();
int cont = 0, id;
id = jtbDependenteLista.getRowCount() + 1;
for (int i = 0; i < cont; i++) {
modelo.setNumRows(0);
}
modelo.addRow(new Object[]{
id,
jtfNomeDependente.getText(),
jtfGrauParentesco.getText()
});
}
}
Então, aqui: DefaultTableModel modelo = (DefaultTableModel) jtbDependenteLista.getModel() modelo recupera o model da tabela jtbDependenteLista,
mas aqui: DefaultTableModel modelo = (DefaultTableModel) jtbVendas.getModel(),
o modelo recupera o modelo da tabela jtbVendas? Então, como a tabela jtvendas terá acesso ao modelo da tabela jtbDependenteLista?
int linha = jtbDependenteLista.getSelectedRow();
DefaultTableModel modelo = (DefaultTableModel) jtbDependenteLista.getModel();
modelo.removeRow(linha);