Итак, у меня есть большая сетка из 289 прямоугольников (17x17), и мне нужен какой-то способ изменить цвет каждого из них, когда на них щелкают, без необходимости создавать 289 различных методов событий.Цвет треугольников основан на шаблоне:
if(y%2==0){
if(x%2==0)
g2.setColor(Color.WHITE)
else
g2.setColor(Color.BLUE)
}else{
if(x%2!=0)
g2.setColor(Color.WHITE)
else
g2.setColor(Color.RED)
}
Я понятия не имею, с чего начать, кроме создания большого ArrayList позиций для каждого прямоугольника и их цветов (например, {{0,0, Color.white}, {х, 0, Color.BLUE} ... и т.д.};).Я бы использовал цикл for для создания каждого из прямоугольников, используя их параметры, но я не знаю, как бы я создал метод ArrayList и Event, чтобы определить, по какому прямоугольнику был щелкнут щелчок.Как мне это сделать?
РЕДАКТИРОВАТЬ: Я говорю, как бы я узнал, какой прямоугольник был нажат, чтобы я мог изменить его цвет?Если это облегчает, это для игры, где есть два игрока, красный и синий.Доска сделана с использованием скрипта выше.Когда игрок определенного цвета нажимает на пустое пространство, доска меняет цвет прямоугольника на цвет игрока, и тут у меня проблемы.Я никогда не узнаю, когда игрок нажал на один из прямоугольников.Как узнать, когда игрок нажал на прямоугольник, и как я могу изменить его цвет при нажатии?