Ciao a tutti , ho un problema con la parte grafica di java.
Ho creato un'applicazione di gestione di un conto corrente. Voglio poter lanciare l'applicazione da finestra grafica che ho implementato con due JButton e un JTextArea sulla quale stampare il tutto. Dato che ho implementato una sola ActionEvent per differenziare i due bottoni ho usato il metodo getActionCommand(). I due bottono funzionano perfettamente in questo modo. Ora quello che vorrei realizzare è far in modo che con un bottone carico dei dati da file, e con l'altro utilizzarli per far partite l'applicazione.

codice:
 public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			command=e.getActionCommand();
			if(command.equals("CARICA DATI"))
			{
			    array=controllo.caricaDati();
				String var1="Variabile 1= "+array.get(0)+"\n";
				String var2="Variablie 2= "+array.get(1)+"\n";
				panel.area.append(var1);
				panel.area.append(var2);
			}
			else
			{
				controllo.avvia(array,panel);
			}
			
		}
dove array è un ArrayList()<Integer> definita come campo privato della ActionListener
in questo modo mi da un errore Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 nel metodo avvia quando va a leggere i dati dall'array, proprio perchè viene passato una array nuovo, non quello restituito da carica dati.

Come posso risolvere tutto ciò?