Pessoal,
Boa tarde! Estou desenvolvendo uma aplicação para geração de uma carteira de materiais para a minha empresa, cada produto cadastrado tem uma lista de materiais e ao colocar um pedido de vendas deste produto preciso que seja gerada uma necessidade para os componentes deste item. Pois bem, para que isto funcione precisei desenvolver a relação de produto mestre x componentes, o meu problema está na visualização destes dados, criei uma JTable que me lista todos os componentes relacionados ao item mestre, esta lista é mostrada quando clico no botão de busca, porém ao fazer uma nova procura eu preciso que a JTable seja zerada para não duplicar os dados mostrados, e é exatamente isto que não estou conseguindo fazer acontecer.
Primeiramente criei um tablemodel que estende AbstractTableModel, a minha idéia foi remover linha por linha do modelo até que não tivesse nenhuma, portanto desenvolvi o método:
public void removeRow(int row) {
getLinhas().remove(row);
fireTableRowsDeleted(row,row);
}
public void limpaTabela() {
int size = getRowCount();
for(int i = 0; i < size; i++) {
removeRow(i);
}
}
Isto está “aparentemente” funcionando, exceto pelo fato de eu receber a seguinte exception:
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 2, Size: 1
Estou realizando o teste em uma JTable que possui 3 linhas, onde todas estão sendo apagados exceto a linha de número 2 (index: 1).
O mais interessante é que ao usar getLinhas().remove(0) nada acontece!!!