Ich habe eine ArrayList von Formen (Rechtecke und Ovale) und ich möchte diese Formen malen. Wie fülle ich sie mit Farbe in der for-Schleife?Java: Wie füllt man Form aus einer ArrayList mit Farbe?
Meine ArrayList besteht aus Rechtecken und Ovalen. Wenn ich fillRect (color) male, malt es alle Formen als Rechtecke, und wenn ich fillOval (Farbe) fülle, malt es alle Formen als Ovale. Wie kann ich die Ovale und Rechtecke passend füllen? Der folgende Code enthält nur die Umrisse.
private ArrayList<Shape> shapes = new ArrayList<Shape>();
private Shape currentShape; // the shape being drawn (either Rectangle or Oval)
public void paintComponent(Graphics g) {
super.paintComponent(g);
for(Shape s : shapes) {
Graphics2D g2d = (Graphics2D) g.create();
s.paint(g2d);
}
}
Die Tatsache, dass Ihre 'Shape's in einer ArrayList gehalten werden, ist völlig irrelevant - Ihre Frage ist wirklich" Wie man eine Form mit Farbe füllt ". –
'Graphics2D g2d = (Graphics2D) g.create();' sollte ** außerhalb ** der Schleife sein. –