Biblioteca

Biblioteca

package biblioteca;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JOptionPane;

public class Main extends javax.swing.JFrame {

    private int pos;
    private Libro[] libri;

    public Main() {
        initComponents();
        libri = new Libro[100];
        for (int i = 0; i < 100; i++) {
            libri[i] = new Libro();
        }
        pos = 0;
    }

[...]
    private void Left(java.awt.event.ActionEvent evt) {                      
        libri[pos].setAutore(txtAutore.getText());
        libri[pos].setEditore(txtEditore.getText());
        libri[pos].setPrezzo(txtPrezzo.getText());
        libri[pos].setTitolo(txtTitolo.getText());
        pos--;
        if (pos < 0) {
            pos = 0;
        }
        lblPos.setText("" + pos);
        txtAutore.setText(libri[pos].getAutore());
        txtTitolo.setText(libri[pos].getTitolo());
        txtEditore.setText(libri[pos].getEditore());
        txtPrezzo.setText(libri[pos].getPrezzo());
    }                     

    private void btnRightActionPerformed(java.awt.event.ActionEvent evt) {                                         
        libri[pos].setAutore(txtAutore.getText());
        libri[pos].setEditore(txtEditore.getText());
        libri[pos].setPrezzo(txtPrezzo.getText());
        libri[pos].setTitolo(txtTitolo.getText());
        pos++;
        if (pos > 100) {
            pos = 100;
        }
        lblPos.setText("" + pos);
        txtAutore.setText(libri[pos].getAutore());
        txtTitolo.setText(libri[pos].getTitolo());
        txtEditore.setText(libri[pos].getEditore());
        txtPrezzo.setText(libri[pos].getPrezzo());
    }                                        

    private void btnSalvaActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try {
            FileWriter fw = new FileWriter("Biblioteca.csv");
            BufferedWriter bw = new BufferedWriter(fw);
            for (int i = 0; i < 100; i++) {
                bw.write(libri[i].getAutore() + ";" + libri[i].getTitolo() + ";" + libri[i].getEditore() + ";" + libri[i].getPrezzo());
                bw.newLine();
            }
            bw.close();
            JOptionPane.showMessageDialog(this, "Archivio salvato", "Informazione", JOptionPane.INFORMATION_MESSAGE);
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(this, "Errore nel salvataggio dell'archivio", "Errore", JOptionPane.ERROR_MESSAGE);
        }
    }                                        

    private void btnCaricaActionPerformed(java.awt.event.ActionEvent evt) {                                          
        try {
            FileReader fr = new FileReader("Biblioteca.csv");
            BufferedReader br = new BufferedReader(fr);
            for (int i = 0; i < 100; i++) {
                String riga = br.readLine();
                String[] campi = riga.split(";");
                libri[i].setAutore(campi[0]);
                libri[i].setTitolo(campi[1]);
                libri[i].setEditore(campi[2]);
                libri[i].setPrezzo(campi[3]);
            }
            br.close();
            JOptionPane.showMessageDialog(this, "Archivio caricato", "Informazione", JOptionPane.INFORMATION_MESSAGE);
            txtAutore.setText(libri[pos].getAutore());
            txtTitolo.setText(libri[pos].getTitolo());
            txtEditore.setText(libri[pos].getEditore());
            txtPrezzo.setText(libri[pos].getPrezzo());
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(this, "Errore nel caricamento dell'archivio", "Errore", JOptionPane.ERROR_MESSAGE);
        }
    }                                         

[...]
}