Beh, da quel che si vede tu stai creando un unico AprioriControllore la cui variabile a (parentesi, nome pessimo) viene inizializzata col valore di f (altro nome pessimo) e... fine.

Quel valore non verrà mai più modificato.
O crei un nuovo listener ogni volta o rivedi un attimo l'architettura in modo da poter aggiornare il valore di a.