codice:
JButton b7 = new JButton("Genera");
		p1.add(b7);
		b7.setVisible(true);
		b7.setBounds(225,40,90,30);
		ListenerSpettacolo lSpettacolo = new ListenerSpettacolo(txtAttesa.getText());
		b7.addActionListener(lSpettacolo);
codice:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ListenerSpettacolo implements ActionListener{
	String aux_ListenerSpettacolo;
	int int_ListenerSpettacolo;
	
	public ListenerSpettacolo(String StringListenerSpettacolo){}
		public void actionPerformed (ActionEvent event){
			try {
				   int_ListenerSpettacolo = Integer.parseInt(aux_ListenerSpettacolo);
				} catch (Exception e) { e.printStackTrace(); }
			Spettacolo S = new Spettacolo(int_ListenerSpettacolo);
			System.out.println(S.nroMaxAttesa);
			}

}
codice:
import java.util.*;
import java.io.*;

public class Spettacolo{
	// variabili (tipi primitivi)
	int nroPosti = 100;
	int nroMaxAttesa;
	int nroPrenotazioni = 0;
	
	// ArrayList per la memorizzazione di oggetto di tipo Cliente
	ArrayList<Cliente> arrayPrenotazioni = new ArrayList<Cliente>();
	ArrayList<Cliente> arrayAttesa = new ArrayList<Cliente>();
	
	// Costruttore per l'inizializzazione di un oggetto di tipo Spettacolo
	public Spettacolo(int valMaxAttesa){
		nroMaxAttesa = valMaxAttesa;
	}
	
	// Metodo "libero" che restituisce T se vi è ancora disponibilità di posti
	public boolean libero(){
		boolean aux_libero = false; //variabile ausiliaria per l'assegnazione del risultato del metodo
		
		if (!arrayPrenotazioni.isEmpty()){ //verifico se la lista prenotazioni è non vuota
			if (nroPosti-arrayPrenotazioni.size() > 0) //verifico se vi è ancora disponibilità di posti
				aux_libero = true;
		}
		else
			aux_libero = true;
		return(aux_libero); //assegno al metodo un valore di outupt corrispondente al valore della variabile ausiliaria
	}
	
	
	public void prenota(Cliente client){
		boolean aux_prenota;
		
		aux_prenota = this.libero();
		if(aux_prenota){
			arrayPrenotazioni.add(client);
			nroPrenotazioni++;
		}
		else
			if (arrayAttesa.size() < nroMaxAttesa)
				arrayAttesa.add(client);
			else System.out.println("Liste di prenotazione e di attesa piene.");
	}
	
	
	public int trova(Cliente client){
		int aux_trova = -1;
		
		if(arrayPrenotazioni.contains(client)) aux_trova = 0;
		else
			if(arrayAttesa.contains(client)) aux_trova = 1;
		return(aux_trova);
	}
	
	public void disdici(Cliente client){
		if(arrayPrenotazioni.contains(client)){
			if(!arrayAttesa.isEmpty()){
				arrayPrenotazioni.remove(arrayPrenotazioni.indexOf(client));
				arrayPrenotazioni.add(arrayAttesa.get(0));
				arrayAttesa.remove(0);
			}
			else{
				arrayPrenotazioni.remove(arrayPrenotazioni.indexOf(client));
				nroPrenotazioni--;
			}
		}
		else
			if(arrayAttesa.contains(client)) arrayAttesa.remove(arrayAttesa.indexOf(client));
			else System.out.println("Cliente non presente in nessuna lista.");
	}
	
	
	public boolean incompleto(Cliente client){
		boolean aux_incompleto = false;
		
		if((arrayPrenotazioni.contains(client)) && (arrayAttesa.contains(client)))	aux_incompleto = true;
		return(aux_incompleto);
	}

	public void salvaDati() throws IOException{
		FileWriter f = new FileWriter("fileoutput.txt"); 
		PrintWriter uscita = new PrintWriter(f); 
		uscita.println("LISTA DELLE PRENOTAZIONI:");
		if (!arrayPrenotazioni.isEmpty()){
			for(int i=0; i < arrayPrenotazioni.size(); i++){
				uscita.print((i+1)+". ");
				uscita.print(arrayPrenotazioni.get(i).nominativo);
				uscita.print(" ");
				uscita.println(arrayPrenotazioni.get(i).telefono);
			}
		}
		else System.out.println("Vuota.");
		uscita.println("LISTA DI ATTESA:");
		if (!arrayAttesa.isEmpty()){
			for(int i=0; i < arrayAttesa.size(); i++){
				uscita.print((i+1)+". ");
				uscita.print(arrayAttesa.get(i).nominativo);
				uscita.print(" ");
				uscita.println(arrayAttesa.get(i).telefono);
			}
		}
		else System.out.println("Vuota");
	
		uscita.close();		
	}
	
}
Ciò che viene restituito è:
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:417)
at java.lang.Integer.parseInt(Integer.java:499)
at ListenerSpettacolo.actionPerformed(ListenerSpettac olo.java:11)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.jav a:6373)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3267)
at java.awt.Component.processEvent(Component.java:613 8)
at java.awt.Container.processEvent(Container.java:208 5)
at java.awt.Component.dispatchEventImpl(Component.jav a:4735)
at java.awt.Container.dispatchEventImpl(Container.jav a:2143)
at java.awt.Component.dispatchEvent(Component.java:45 65)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4621)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:4282)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:4212)
at java.awt.Container.dispatchEventImpl(Container.jav a:2129)
at java.awt.Window.dispatchEventImpl(Window.java:2478 )
at java.awt.Component.dispatchEvent(Component.java:45 65)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:679)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:638)
at java.awt.EventQueue$1.run(EventQueue.java:636)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectio nPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectio nPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:652)
at java.awt.EventQueue$2.run(EventQueue.java:650)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectio nPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 649)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:122)
0