Programmare in Java una lista della spesa/Classe Lista
La classe Lista gestisce una java.util.List di classi Prodotto, instanziata tramite una java.util.ArrayList. Il costruttore della classe legge la lista della spesa contenuta nel file listaSpesa.csv e riempe l'ArrayList. Poi contiene metodi per aggiungere o rimuovere un prodotto dalla lista e per svuotare la lista. La classe Lista verrà instanziata nella classe che gestisce l'interfaccia grafica del programma o GUI . Tale classe si crea selezionando in Eclipse : File --> New --> Class e digitando il nome della classe Lista.
package lista_spesa;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Lista {
private List<Prodotto> prodotti;
//Costruttore
public Lista() {
super();
String str;
prodotti = new ArrayList<Prodotto>();
try {
BufferedReader br =new BufferedReader(
new FileReader("listaSpesa.csv"));
while((str= br.readLine())!=null) {
String[] a = str.split(",");
prodotti.add(new Prodotto(a[0],a[2],a[3],a[1]));
}
}
catch (FileNotFoundException fnfe)
{
FileWriter writer;
try {
writer = new FileWriter("listaSpesa.csv");
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected List<Prodotto> getProdotti() {
return prodotti;
}
protected void add(Prodotto p) {
prodotti.add(p);
}
protected void remove (int index) {
prodotti.remove(index);
}
protected void svuotaLista () {
prodotti.clear();
}
}