java – Why is the variable not accessable within EventHandler/if-statement?

I try to change the color of three circles according to the colors which are saved in an Array (Zustände()). But the var i is not accessable within the if and switch statement and im quite stuck on it. Maybe you guys can help me. I always thought that declared variables are accessable within the whole package.

Eclipse say: “Local variable i defined in an enclosing scope must be final or effectively final”

int i = 1;
    
    EventHandler<ActionEvent> nextColor = new EventHandler<ActionEvent>() {
        public void handle(ActionEvent e) {
            
            if(i == 5) {
                i = 1;
            }
            
            switch(i) {
            
            case 1:
                
                kreis1.setFill(Zustände(0).oben);
                kreis2.setFill(Zustände(0).mitte);
                kreis3.setFill(Zustände(0).unten);
                i++;
                
            case 2:
                
                kreis1.setFill(Zustände(1).oben);
                kreis2.setFill(Zustände(1).mitte);
                kreis3.setFill(Zustände(1).unten);
                i++;
                
            case 3:
                
                kreis1.setFill(Zustände(2).oben);
                kreis2.setFill(Zustände(2).mitte);
                kreis3.setFill(Zustände(2).unten);
                i++;
                
            case 4:
                
                kreis1.setFill(Zustände(3).oben);
                kreis2.setFill(Zustände(3).mitte);
                kreis3.setFill(Zustände(3).unten);
                i++;
            }   
        }
    };