Okay grazie ho risolto così:
public class FinestraPrincipale extends JFrame implements FocusListener{
	
	public FinestraPrincipale(){
		ListaConsumazioni lista = new ListaConsumazioni();
		Vector<Consumazione> vconsumazioni = new Vector<Consumazione>();
		
		JFrame f = new JFrame("Gestione consumazioni/Programma realizzato da Tommaso Perilli");
		JPanel p = new JPanel();
		
		JButton registra = new JButton("Registra");
		registra.setAlignmentX(Component.CENTER_ALIGNMENT);
		
		JLabel ltipoconsumazione = new JLabel("Tipo Consumazione");
		ltipoconsumazione.setAlignmentX(Component.CENTER_ALIGNMENT);
		
		final JButton fine = new JButton("Fine consumazione");
		fine.setAlignmentX(Component.CENTER_ALIGNMENT);
		
		JTextField tipo = new JTextField(2);
		tipo.setAlignmentX(Component.CENTER_ALIGNMENT);
		tipo.addFocusListener(new FocusListener(){
			public void focusGained(FocusEvent e) {
            fine.setEnabled(false);
			}
			public void focusLost(FocusEvent e) {
            fine.setEnabled(true);
			}
        });
		
		JLabel lprezzo = new JLabel("Prezzo consumazione");
		lprezzo.setAlignmentX(Component.CENTER_ALIGNMENT);
		
		JTextField prezzo = new JTextField(2);
		prezzo.setAlignmentX(Component.CENTER_ALIGNMENT);
		
		prezzo.addFocusListener(new FocusListener(){
			public void focusGained(FocusEvent e) {
	            fine.setEnabled(false);
	        }
	        public void focusLost(FocusEvent e) {
	            fine.setEnabled(true);
	        }
		});
		
		JTextArea a = new JTextArea(10,5);//qui verrà visualizzato lo scontrino
		JTextArea b = new JTextArea(10,5);//qui verranno visualizzati tutte le consumazioni
		JScrollPane scroll=new JScrollPane(b);//aggiunge lo scroll al campo di testo
		JScrollPane scroll2 = new JScrollPane(a);
		a.setEditable(false);
		b.setEditable(false);
		scroll.setAutoscrolls(true);
		scroll2.setAutoscrolls(true);
		
		
		JLabel ltotale = new JLabel("Incasso totale:");
		JTextArea c = new JTextArea(1,4);
		c.setEditable(false);
		
		//sul jpanel p verrà implementato uno stile
		p.setLayout(new FlowLayout());
		p.add(new JLabel("Gestione Bar"));
		
		JPanel p2 = new JPanel();
		p2.setLayout(new BoxLayout(p2, BoxLayout.Y_AXIS));
		p2.add(ltipoconsumazione);
		p2.add(tipo);
		p2.add(lprezzo);
		p2.add(prezzo);
		p2.add(registra);
		p2.add(fine);
		
		JPanel p3 = new JPanel();
		p3.setLayout(new BoxLayout(p3, BoxLayout.Y_AXIS));
		p3.add(new JLabel("Scontrino fiscale precedente:"));
		p3.add(scroll2);
		
		JPanel p4 = new JPanel();
		p4.setLayout(new BoxLayout(p4, BoxLayout.Y_AXIS));
		p4.add(new JLabel("Lista consumazioni totali"));
		p4.add(scroll);
		
		JPanel p5 = new JPanel();
		p5.setLayout(new FlowLayout());
		p5.add(ltotale);
		p5.add(c);
		
		registra.addActionListener(new GestorePulsante(a,b,tipo,prezzo,c,lista,vconsumazioni));
		fine.addActionListener(new GestorePulsante(a,b,tipo,prezzo,c,lista,vconsumazioni));
		
		f.addWindowListener(new GestoreFinestra(f));
		
		f.getContentPane().add(p,BorderLayout.NORTH);
		f.getContentPane().add(p2,BorderLayout.WEST);
		f.getContentPane().add(p3,BorderLayout.CENTER);
		f.getContentPane().add(p4,BorderLayout.EAST);
		f.getContentPane().add(p5,BorderLayout.SOUTH);
		
		f.setSize(700,300);
		f.setLocation(400,300);
		f.pack();
		f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
		f.setVisible(true);
	}
	@Override
	public void focusGained(FocusEvent e) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void focusLost(FocusEvent e) {
		// TODO Auto-generated method stub
		
	}
}
e:
public class Bar{
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new FinestraPrincipale();
            }
        });
		
	}
}
	
Grazie mille! sei un grande 
Un'ultima cosa, come faccio a disabilitare un bottone quando un campo di testo è vuoto? perchè adesso ho disabilitato un bottone quando si clicca sopra ad una jtextfield insomma..