Вы можете сделать это, чтобы избежать объявления параметров как окончательных.
public void timedMain(Point current, Point wanted) {
final Point c = current;
final Point w = wanted;
ActionListener taskPerformer = new ActionListener(){
public void actionPerformed(ActionEvent evt){
System.out.println(w + " " + c);}};
actiontimer = new Timer(delay, taskPerformer);
actiontimer.start();}
Или вы можете изменить типы current
и wanted
, чтобы они были изменяемыми держателями Point
, ипусть метод actionPerformed
смотрит на текущие значения в держателях.
Но нет способа объявить внутренний класс так, чтобы он мог видеть изменения, внесенные в переменную в области видимости метода ... еслиэто то, что вы пытаетесь сделать.