From 763d9eff22a4a918af4d60acf0af9d46506ef3f7 Mon Sep 17 00:00:00 2001 From: "J. Neugebauer" Date: Thu, 14 Jul 2022 19:27:36 +0200 Subject: [PATCH] Bugfix beim setzen des StrokeType --- src/main/java/schule/ngb/zm/shapes/Shape.java | 3 +-- .../java/schule/ngb/zm/shapes/StrokedShape.java | 13 +++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/schule/ngb/zm/shapes/Shape.java b/src/main/java/schule/ngb/zm/shapes/Shape.java index 630f5cf..d8219f3 100644 --- a/src/main/java/schule/ngb/zm/shapes/Shape.java +++ b/src/main/java/schule/ngb/zm/shapes/Shape.java @@ -168,8 +168,7 @@ public abstract class Shape extends FilledShape { *

* Unterklassen sollten diese Methode überschreiben, um weitere * Eigenschaften zu kopieren (zum Beispiel den Radius eines Kreises). Mit - * dem Aufruf - * {@code super.copyFrom(shape)} sollten die Basiseigenschaften + * dem Aufruf {@code super.copyFrom(shape)} sollten die Basiseigenschaften * kopiert werden. * * @param shape diff --git a/src/main/java/schule/ngb/zm/shapes/StrokedShape.java b/src/main/java/schule/ngb/zm/shapes/StrokedShape.java index 1dc1290..5f98976 100644 --- a/src/main/java/schule/ngb/zm/shapes/StrokedShape.java +++ b/src/main/java/schule/ngb/zm/shapes/StrokedShape.java @@ -4,8 +4,14 @@ import schule.ngb.zm.Color; import schule.ngb.zm.Constants; import schule.ngb.zm.Drawable; import schule.ngb.zm.Options; +import schule.ngb.zm.util.Noise; import java.awt.*; +import java.awt.Shape; +import java.awt.geom.FlatteningPathIterator; +import java.awt.geom.GeneralPath; +import java.awt.geom.PathIterator; +import java.util.Arrays; public abstract class StrokedShape extends Constants implements Drawable { @@ -26,7 +32,7 @@ public abstract class StrokedShape extends Constants implements Drawable { this.strokeColor = color; } - public void setStrokeColor( Color color , int alpha ) { + public void setStrokeColor( Color color, int alpha ) { setStrokeColor(new Color(color, alpha)); } @@ -66,10 +72,11 @@ public abstract class StrokedShape extends Constants implements Drawable { /** * Setzt den Typ der Kontur. Erlaubte Werte sind {@link #DASHED}, * {@link #DOTTED} und {@link #SOLID}. + * * @param type */ public void setStrokeType( Options.StrokeType type ) { - this.strokeType = DASHED; + this.strokeType = type; this.stroke = null; } @@ -78,9 +85,11 @@ public abstract class StrokedShape extends Constants implements Drawable { /** * Erstellt ein {@link Stroke} Objekt für den Konturtyp. + * * @return */ protected Stroke createStroke() { + // TODO: Used global cached Stroke Objects? if( stroke == null ) { switch( strokeType ) { case DOTTED: