Как сделать "Резиновую линию"? - Java

Узнай цену своей работы

Формулировка задачи:

ТАК у меня не получается стереть линии которые оставляет моя резиновая линия. Вроде вызываю repaint(); перерисовать. Да что то не работает Помогите пожалуйста.
Листинг программы
  1. private void canvas1MouseClicked(java.awt.event.MouseEvent evt) {
  2. Graphics g = canvas1.getGraphics(); //Создаем объект Graphics
  3. g.setColor(Color.BLUE); // устанавливаем текущий цвет
  4. switch(drMode)
  5. {
  6. case Ribbon:
  7. if (evt.getButton() == MouseEvent.BUTTON1)
  8. {
  9. PointsList.add(new Point(evt.getX(), evt.getY())); // Создаем объект вершины и добавляем ее в список вершин
  10. }
  11. else
  12. {
  13. if(PointsList.size() > 0) //Проверяем: если в списке есть хотя бы одна вершина
  14. {
  15. repaint();
  16. g.drawLine(PointsList.get(PointsList.size()-1).x,PointsList.get(PointsList.size()-1).y,PointsList.get(0).x, PointsList.get(0).y ); //соединяем первую вершину с последней
  17. PointsList.clear(); // Очистка списка вершин с целью его подготовки к работе со следующей фиурой
  18. }
  19. }
  20. break;
  21. }
  22. g.dispose();//Освобождаем ресурсы объекта Graphics
  23. }
  24. private void canvas1MouseMoved(java.awt.event.MouseEvent evt) {
  25. Graphics g = canvas1.getGraphics(); //Создаем объект Graphics
  26. g.setColor(Color.BLUE); // устанавливаем текущий цвет
  27. switch(drMode)
  28. {
  29. case Ribbon:
  30. if(PointsList.size() < 1)
  31. {
  32. break;
  33. }
  34. repaint();
  35. g.drawLine(PointsList.get(PointsList.size()-1).x,PointsList.get(PointsList.size()-1).y, evt.getX(), evt.getY());
  36. break;
  37. default: break;
  38. }
  39. g.dispose();
  40. }

Решение задачи: «Как сделать "Резиновую линию"?»

textual
Листинг программы
  1. g.drawLine(PointsList.get(PointsList.size()-1).x,PointsList.get(PointsList.size()-1).y, evt.getX(), evt.getY());

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.462 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы