Pasar variables a ActionListener en Java

Tengo algo como el siguiente código:

    for(int i=0;i<10;i++){
        button=new JButton(buttons[i]);
        button.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                setPage(i);
            }
        });
        menu.add(button);
    }

Sin embargo, la variablei no está definido en el alcance de la clase ActionListener. ¿Cómo puedo pasar la variable?

Respuestas a la pregunta(3)

Su respuesta a la pregunta