Линия класса со списком координат
У меня есть этот слушатель, который реализует алгоритм DDA:
public void mouseDragged(MouseEvent e) {
final double startX = previousX / (panel.getWidth() - 1.0); //k zamysleni: proc 1.0 a ne 1?
final double startY = 1 - previousY / (panel.getHeight() - 1.0);
final double endX = e.getX() / (panel.getWidth() - 1.0);
final double endY = 1 - e.getY() / (panel.getHeight() - 1.0);
Line line = new Line(startX, startY, endX, endY);
line.addLine(startX, startY,endX, endY);
clear(); // zkuste zakomentovat
rasterImage = liner.rasterizeLine(rasterImage,
startX, startY, endX, endY,
0xffff00);
panel.repaint();
}
});
Работает нормально и ifMouseDragged
, линия нарисована. Тем не менее clear();
метод удалит предыдущую линию, если я нарисую другую. Мне нужно нарисовать несколько линий. Я дошел до того, что мне нужно создать новый класс (линию), где будет храниться список точек. Таким образом, после clear();
позвони, я могу перерисовать линию.
Как написать класс Line? Я написал это, но это, очевидно, не имеет смысла. До сих пор не могу понять, как его построить...
package rasterdata;
import java.util.LinkedList;
public class Line {
double x1 = 0.0;
double x2 = 0.0;
double y1 = 0.0;
double y2 = 0.0;
private final LinkedList<Line> points = new LinkedList<Line>();
public void setPoints(double x1, double x2, double x3, double x4) {
this.x1 = x1;
this.x2 = x2;
this.y1 = x1;
this.y1 = y2;
}
public LinkedList<Line> getPoints(){
}
}