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!