Ciao a tutti!

Sto provando a scrivere un applet in grado di scrivere su un file di testo:
6 JLabel, 6 JTextField e due JButton.
L'idea sarebbe che dopo aver immesso i dati nei JTextField si schiaccia uno dei due JButton e a seconda i dati vengono riportati all'interno di uno o dell'altro file .odt, non sembra difficile, ma al momento di provare il programma quando clicko un JButton nel terminalino di linux esce l'errore:
codice:
Exception in thread "AWT-EventQueue-1" java.security.AccessControlException: access denied (java.io.FilePermission /home/jekotojava/Documenti/prova.odt write)
secondo voi č un errore nel codice? provo a postarlo:
codice:
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.*;
import java.awt.*;
import java.io.*;

public class prova2 extends JApplet {
    private static final long serialVersionUID = 1L;

    JButton[] bottone;
    JPanel pannelloBottoni;
    JPanel pannelloCampi;
    Container pannelloApplet;

    public JTextField aCode = new JTextField(10);
    public JTextField aNome = new JTextField(10);
    public JTextField societā = new JTextField(10);
    public JTextField venduti = new JTextField(10);
    public JTextField costo = new JTextField(10);
    public JTextField guadagno = new JTextField(10);

//Labels
    public JLabel codice = new JLabel("Codice articolo:");
    public JLabel nome = new JLabel("Nome articolo:");
    public JLabel socProd = new JLabel("Societā di produzione:");
    public JLabel v100 = new JLabel("Venduti/100:");
    public JLabel c100 = new JLabel("Costo di cento unitā:");
    public JLabel g100 = new JLabel("Guadagno con 100 unitā:");

    public void init() {

//   Settaggio testo
	aCode.setEditable(true);
	aNome.setEditable(true);
	societā.setEditable(true);
	venduti.setEditable(true);
	costo.setEditable(true);
	guadagno.setEditable(true);

	// Definisco il layout dell'applet: 
	pannelloApplet = getContentPane();
	pannelloApplet.setLayout(new BorderLayout());

	// inseriremo i 6 bottoni in un pannello che verra' inserito 
	// nel centro dell'applet. Costruiamo il pannello: 

	pannelloBottoni = new JPanel();

	// dispongo i 2 bottoni in una griglia:
	pannelloBottoni.setLayout(new FlowLayout());

	// definisco un array di 2 bottoni.
	bottone = new JButton[2];

	// inizializzo i bottoni e li aggiungo al pannelloBottoni.
	// Etichetta dei bottoni:
	String[] nomeBottone = {"Salva come positivo", "Salva come negativo"};

	// Colore di sfondo dei bottoni: 
	Color[] coloreBottone = {Color.red, Color.cyan};

	for (int i = 0; i < bottone.length; i++) {
	    bottone[i] = new JButton(nomeBottone[i]);
	    bottone[i].setBackground(coloreBottone[i]);
	    pannelloBottoni.add(bottone[i]);}

	// inserisco il pannelloBottoni a sud dell'applet: 
	pannelloApplet.add(pannelloBottoni, BorderLayout.SOUTH);

//	Definisco il pannello e i campi d'Input che dovrā contenere:
	JPanel pannelloCampi = new JPanel();
	pannelloCampi.setLayout(new GridLayout(6,2,0,0));

//	Inserisco in pannelloCampi le labels e i campi d'input:
	pannelloCampi.add(codice);
	pannelloCampi.add(aCode);

	pannelloCampi.add(nome);
	pannelloCampi.add(aNome);

	pannelloCampi.add(socProd);
	pannelloCampi.add(societā);

	pannelloCampi.add(v100);
	pannelloCampi.add(venduti);

	pannelloCampi.add(c100);
	pannelloCampi.add(costo);

	pannelloCampi.add(g100);
	pannelloCampi.add(guadagno);

	// inserisco il pannelloCampi a nord dell'applet:
	pannelloApplet.add(pannelloCampi, BorderLayout.NORTH);

	//ActionListener(s) da implementare dopo questa classe
	Receiver1 receiver1 = new Receiver1();
	Receiver2 receiver2 = new Receiver2();

	//		assegnazione ActionListener(s) ai corrispondenti JButton(s)	assegnazione ActionListener(s) ai corrispondenti JButton(s)
	bottone[0].addActionListener(receiver1);
	bottone[1].addActionListener(receiver2);
	}
    class Receiver1 implements ActionListener {
	public void actionPerformed(ActionEvent e) {

	String codiceArticolo = aCode.getText ();
	String nomeArticolo = aNome.getText ();
	String societāProduzione = societā.getText ();
	String venduti100 = venduti.getText ();
	String costo100 = costo.getText ();
	String guadagno100 = guadagno.getText ();

// Creo un file su cui scrivere, lo denomino per ora prova.odt
      try{
          FileOutputStream prova = new FileOutputStream("/home/jekotojava/Documenti/prova.odt");
          PrintStream scrivi = new PrintStream(prova);

// Scrivo sul nuovo standard output:
	scrivi.println("\n Positivi.\n");
	scrivi.println("*P Codice dell'articolo: "+ codiceArticolo);
	scrivi.println("*P Nome dell'articolo: "+ nomeArticolo);
	scrivi.println("*P Societā produttrice dell'articolo: "+ societāProduzione);
	scrivi.println("*P Percentuale di articoli venduti al mese: "+ venduti100);
	scrivi.println("*P Costo di 100 unitā (€): "+ costo100);
	scrivi.println("*P Guagagno con 100 unitā vendute (€): "+ guadagno100);
	scrivi.println("\n Articolo giudicato di guadagno.");

	}catch (IOException ioe){
          System.out.println("Errore: " + ioe);
			}
		}
	}

    class Receiver2 implements ActionListener {
	public void actionPerformed(ActionEvent e) {

	String codiceArticolo = aCode.getText ();
	String nomeArticolo = aNome.getText ();
	String societāProduzione = societā.getText ();
	String venduti100 = venduti.getText ();
	String costo100 = costo.getText ();
	String guadagno100 = guadagno.getText ();

// Creo un file su cui scrivere, lo denomino per ora nonProva.odt
      try{
          FileOutputStream prova = new FileOutputStream("/home/jekotojava/Documenti/nonProva.odt");
          PrintStream scrivi = new PrintStream(prova);

// Scrivo sul nuovo standard output:
	scrivi.println("\n Negativi.\n");
	scrivi.println("*P Codice dell'articolo: "+ codiceArticolo);
	scrivi.println("*P Nome dell'articolo: "+ nomeArticolo);
	scrivi.println("*P Societā produttrice dell'articolo: "+ societāProduzione);
	scrivi.println("*P Percentuale di articoli venduti al mese: "+ venduti100);
	scrivi.println("*P Costo di 100 unitā (€): "+ costo100);
	scrivi.println("*P Guagagno con 100 unitā vendute (€): "+ guadagno100);
	scrivi.println("\n Articolo giudicato di non-guadagno.");

	}catch (IOException ioe2){
          System.out.println("Errore: " + ioe2);
			}
		}
	}
}