Salve galera
Seguinte, eu tenho uma tela de vendas com JTable que vou adicionando os itens e tenho um botao que quando clico abre um Jdialog pedindo o numero do item para ser removido
exemplo
item produto
001 coca cola
002 cafe
003 guarana
004 sorvete kibon
Digamos q o operador resolva remover o item002 deixando apenas os item001 e item003. Operador clica no botao, abre o JDialog pedindo o numero do item o operador informa o numero e o item e removido da JTable.
Estou tentando fazer assim.
// JDialog que remove o item
public void confirmaCancelamentoItem(){
notifyListeners(Integer.parseInt(item.getText()));
dispose();
}
//aqui meu AbstractTableModel
public class PDVTableModel extends AbstractTableModel{
private List<ItensVenda> itemVenda;
private String[] colunas = {"Itens","Descrição","Valor Un.(R$)","Qtd.","Un.","Total(R$)"};
public PDVTableModel(){
this.itemVenda = new ArrayList<ItensVenda>();
}
public PDVTableModel(List<ItensVenda> lista){
this();
this.itemVenda.addAll(lista);
}
public ItensVenda getItensVenda(int row){
/**
* Retorna os ItensVenda
*/
return itemVenda.get(row);
}
public void deleteItem(int row){
/**
* Remove item
*/
itemVenda.remove(row);
fireTableDataChanged();
}
//aqui meu JDialog q estou tentando fazer isso
@Override
public void retornaItem(RetornaItemEvent e) {
ListSelectionModel selectionMode = tabelaItensVenda.getSelectionModel();
selectionMode.setSelectionInterval(e.retornaItem(), e.retornaItem());
model.deleteItem(tabelaItensVenda.getSelectedRow());
}
Problema q no ListSelectionInterval e preciso informar a linha como 0 para selecionar a primeira, caso a pessoa informe a linha 1 ele seleciona a segunda.
Tentei tbm passar o indice diretamente para o deleteItem com deleteItem(e.getRetornaItem()), tbm nao resolveu.
Enfim, como fazer isso ?? Como consigo remover uma linha especifica na JTable, com o Operador(Usuario) informando o numero do item q deseja remover.
obrigado.