Вопрос

Для меня есть способ проходить переменные в действии, не вызывая их как финал? Я хотел бы использовать эти два очка внутри своего рода синхронизированного способа ... Я пробовал Thread.sleep (), но по какой-то причине он не сетка не сетки с остальной частью программы. Это формат, который мне действительно нравится использовать, но я знаю, что может быть невозможно сделать это работать. Я открыт для любого и всех советов. Спасибо!

(Извините, если это глупый вопрос, я искал ответ, но просто не могу найти его.)

public void timedMain(Point current, Point wanted){
          ActionListener taskPerformer = new ActionListener(){
              public void actionPerformed(ActionEvent evt){
                  System.out.println(wanted+" "+current);}};
                  actiontimer = new Timer(delay, taskPerformer);
                  actiontimer.start();}
Это было полезно?

Решение

Вы можете сделать это, что позволяет избежать объявления параметров как окончательный.

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 Способ взглянуть на текущие значения в держателях.

Но нет способа объявить внутренний класс, чтобы он мог видеть изменения, сделанные в переменной в прилагающем способе объема ... Если это то, что вы пытаетесь сделать.

Другие советы

Вы могли бы сделать несколько вещей

  • Вы можете продвигать анонимный слушатель действий в (частный статический) внутренний класс и передайте аргументы конструктору

  • Вы можете определить функцию, которая создала анонимный слушатель действий, а не встроить его в свой код и сделать параметры к тому, что финал функции

Что не так с простой маркировкой их «финала», хотя?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top