Botão excluir para apagar um item do ArrayList

1 resposta
G

Olá, estou fazendo um trabalho de um sistema de livraria, porém estou com alguns problemas para excluir os livros do arrayList através do botão.
O meu botão exclui normalmente os itens da JTable, mas não estou sabendo ao mesmo tempo que exclui da tabela excluir também do arrayList para que quando eu consultar novemente o livro não esteja mais na consulta.

obs: estou persistindo em arquivo .txt (“Livro.txt”).

codigo do botão que exclui da tabela:

private void RemoverLivroActionPerformed(java.awt.event.ActionEvent evt){

int excluir = JOptionPane.showConfirmDialog(null, "excluir este livro?", null, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(excluir == JOptionPane.YES_OPTION){
     ((DefaultTableModel) tabelaConsulta.getModel()).removeRow(tabelaConsulta.getSelectedRow());

     //o codigo da ação para excluir também do arrayList ficaria aqui. Mas não estou sabendo setar os valores para os metodos, por isso preferi nem colocar. 
}
     
}
}

codigo da Persistencia:

public class Persistencia{

static ArrayList<Livro> listaLivro = new ArrayList<Livro>();

public static ArrayList<Livro> getLivroPersistencia(){
return listaLivro;
}

public static void addLivroPersistencia(Livro livro){
listaLivro.add(livro);
}

public static void apagarLivro(String livroIsbn){
 for(int i=listaLivro.size() -1; i>=0; i--){
  if((listaLivro.get(i)).getIsbn().equals(livroIsbn)){
   listaLivro.remove(i);
   }
  }
}

}

metodo na classe Livro (resumida) - Contem construtores, getters e setters, equals e hashcode de Isbn.

public class Livro{

private String titulo;
private String isbn;
private String numPaginas;
private String editora;
private String categoria;
private Autor autor;


public void removerLivro(String livroIsbn){
 Persistencia.apagarLivro(livroIsbn);
}
}

obs: também contenho uma classe ‘GerenciadorDeArquivos’ onde eu tenho os métodos para gravar em txt e ler o txt!

1 Resposta

Filipe_A

Olá Gabriel… acredito que você tenha que pegar o isbn do livro da Jtable (talvez com um getRow…) e depois passar para o método que exclui o livro da lista. Essa é a minha humilde ajuda. Abs.

Criado 7 de dezembro de 2012
Ultima resposta 21 de dez. de 2012
Respostas 1
Participantes 2