The final local variable cannot be assigned, since it is defined in an enclosing type
ratingS = new JSlider(1, 5, 3); ratingS.setMajorTickSpacing(1); ratingS.setPaintLabels(true); int vote; class SliderMoved implements ChangeListener { public void stateChanged(ChangeEvent e) { vote = ratingS.getValue(); } } ratingS.addChangeListener(new SliderMoved()); If i write the above code Eclipse tells me this: Cannot refer to a non-final variable vote inside an inner class defined in a different method But if i add final before int vote it gives me this error: The final local variable vote cannot be assigned, since it is defined in an enclosing type So, how to solve? Well, the standard