Итак, у меня есть слушатель мыши, который подключен к нескольким объектам следующим образом:
for (int i = 0; i < Grids.size(); i++) {
Grids.get(i).addMouseListener(new GameMouseListener());
}
Теперь у меня проблема в том, что мне нужно знать, какой из объектов активировал обработчик
очевидно, это не сработает, поскольку переменная «i» не определена внутри класса и использовалась только в предыдущем цикле for.Как узнать, с помощью обработчика, на котором был выбран конкретный объект.
public class GameMouseListener implements MouseListener {
@Override
public void mouseClicked(MouseEvent e) {
if (Grid.get(i).isSelected()) {
Grid.get(i).unselected();
} else {
Grid.get(i).selected();
}
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}