Добавление внешнего int в слушателя действия - PullRequest
0 голосов
/ 29 мая 2020

Мне нужно сделать очень маленький проект для школы: создать игру ti c ta c toe in Java с помощью JButtons, и у меня есть короткий вопрос.

Вот код:

public void FensterAufbauen() {
    int i = 0;  
    myPanel.setLayout(null);
    myButton.setText("");
    myButton.setBounds(40,70,80,80);
    myButton.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent arg0) {
            if (i % 2 == 0){
            myButton.setText("X");
            }
            else {
            myButton.setText("O");
            }
            i++;
        }
    });
}

Теперь, как мне добавить int i в слушатель действий (у меня это есть для всех 9 кнопок, поэтому я не могу просто определить i внутри слушателя)? Заранее прошу прощения, если что-то здесь покажется небрежным - я новичок в Java

1 Ответ

0 голосов
/ 29 мая 2020

i должно быть final, если вы хотите получить к нему доступ из анонимного встроенного класса:

final int i = 0;

Это, конечно, означает, что вы больше не можете его изменить. Таким образом, вместо этого объявляйте i как незавершенную частную переменную в окружающем классе, а не как локальную переменную. Или вы также можете объявить i как частную переменную внутри вашего ActionListener, прямо над функцией actionPerformed ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...