Как сделать "Резиновую линию"? - Java
Формулировка задачи:
ТАК у меня не получается стереть линии которые оставляет моя резиновая линия. Вроде вызываю repaint(); перерисовать. Да что то не работает Помогите пожалуйста.
private void canvas1MouseClicked(java.awt.event.MouseEvent evt) { Graphics g = canvas1.getGraphics(); //Создаем объект Graphics g.setColor(Color.BLUE); // устанавливаем текущий цвет switch(drMode) { case Ribbon: if (evt.getButton() == MouseEvent.BUTTON1) { PointsList.add(new Point(evt.getX(), evt.getY())); // Создаем объект вершины и добавляем ее в список вершин } else { if(PointsList.size() > 0) //Проверяем: если в списке есть хотя бы одна вершина { repaint(); g.drawLine(PointsList.get(PointsList.size()-1).x,PointsList.get(PointsList.size()-1).y,PointsList.get(0).x, PointsList.get(0).y ); //соединяем первую вершину с последней PointsList.clear(); // Очистка списка вершин с целью его подготовки к работе со следующей фиурой } } break; } g.dispose();//Освобождаем ресурсы объекта Graphics } private void canvas1MouseMoved(java.awt.event.MouseEvent evt) { Graphics g = canvas1.getGraphics(); //Создаем объект Graphics g.setColor(Color.BLUE); // устанавливаем текущий цвет switch(drMode) { case Ribbon: if(PointsList.size() < 1) { break; } repaint(); g.drawLine(PointsList.get(PointsList.size()-1).x,PointsList.get(PointsList.size()-1).y, evt.getX(), evt.getY()); break; default: break; } g.dispose(); }
Решение задачи: «Как сделать "Резиновую линию"?»
textual
Листинг программы
g.drawLine(PointsList.get(PointsList.size()-1).x,PointsList.get(PointsList.size()-1).y, evt.getX(), evt.getY());
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д