Originariamente inviato da rodfval
codice:
        Button save = new Button("Salva");
        save.setFont(font);
        save.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event) {
                //
                // Get the source of the component, which is our combo box.
                //
            	citta = (Choice) event.getSource();
            	zona = (Choice) event.getSource();
                tipologia = (Choice) event.getSource();
Lo dice chiaramente il messaggio della eccezione ma è meglio chiarirtelo.

Il ActionListener l'hai registrato su un Button (quel 'save') e quindi nel ActionEvent il "source" (l'oggetto fornito da getSource() ) è ..... proprio il Button!!! (e proprio quel 'save').

E visto che tu "sai" che quel ActionListener (essendo una anonymous inner class) è solo per il Button 'save' .... perché devi verificare il source?