Java MouseListener и ArrayList - PullRequest
       26

Java MouseListener и ArrayList

1 голос
/ 18 марта 2019

Моя программа создает Circles и Squares и помещает их в центр DrawZone.Что я хочу сделать, это переместить их в точку, где я щелкаю мышью.Для этой цели я использую MouseListener.

. Этот шаг достигается, однако, когда я перемещаю формы, я хочу изменить цвет на КРАСНЫЙ, но он не работает.Я не понимаю почему, но мои формы перемещаются в точку мыши, но это меняет цвет следующей формы (мои ArrayList не меняются).

Вот мой код:

if(SwingUtilities.isLeftMouseButton(arg0)) { 
  if(ListeForme2D.isEmpty()) {
    System.out.println("No way to move something that doesn't exist !");
  } else {
    ArrayList<Forme2D> updateList = new ArrayList<Forme2D>(ListeForme2D);
    initialColor = ListeForme2D.get(0).getColor();
    ListeForme2D.clear();
    updateList.get(0).setColor(Color.red);
    updateList.get(0).setTranslation(arg0.getX(), arg0.getY());
    repaint();

    for(int i=0; i<updateList.size(); i++) {
      ListeForme2D.add(updateList.get(i));
    }
    repaint();
  }
}

Черный перемещается к точке щелчка, но не является красным, как ожидалось, однако второй становится красным.Изображено ниже:

.

...