Class Arrow

All Implemented Interfaces:
Drawable, Fillable, Strokeable

public class Arrow extends Line
  • Field Details

  • Constructor Details

    • Arrow

      public Arrow(double x1, double y1, double x2, double y2)
    • Arrow

      public Arrow(Vector vector)
      Erstellt einen Pfeil, der den übergebenen Vektor darstellt.
      Parameters:
      vector -
    • Arrow

      public Arrow(Vector vector1, Vector vector2)
      Erstellt einen Pfeil, der den Differenzvektor zwischen den übergebenen Vektoren darstellt.
      Parameters:
      vector1 -
      vector2 -
    • Arrow

      public Arrow(double x, double y, Vector vector)
      Erstellt einen Pfeil, der den übergebenen Vektor um die angegeben Koordinaten verschoben darstellt.
      Parameters:
      x -
      y -
      vector -
    • Arrow

      public Arrow(Line line)
      Erstellt einen Pfeil als Kopie einer vorgegebenen Linie.
      Parameters:
      line -
  • Method Details

    • getHeadsize

      public double getHeadsize()
    • setHeadsize

      public void setHeadsize(double headsize)
    • getArrowhead

      public Options.ArrowHead getArrowhead()
    • setArrowhead

      public void setArrowhead(Options.ArrowHead arrowhead)
    • copyFrom

      public void copyFrom(Vector vector)
      Kopiert die Werte des angegebenen Vektors.
      Parameters:
      vector -
    • copyFrom

      public void copyFrom(Shape shape)
      Description copied from class: Shape
      Kopiert die Eigenschaften der angegebenen Form in diese.

      Unterklassen überschreiben diese Methode, um weitere Eigenschaften zu kopieren (zum Beispiel den Radius eines Kreises). Überschreibende Methoden sollten immer mit dem Aufruf super.copyFrom(shape) die Basiseigenschaften kopieren.

      Die Methode kopiert so viele Eigenschaften wie möglich von der angegebenen Form in diese. Wenn die andere Form einen anderen Typ hat, dann werden trotzdem die Basiseigenschaften (Konturlinie, Füllung, Position, Rotation, Skalierung, Sichtbarkeit und Ankerpunkt) in diese Form kopiert. Soweit sinnvoll übernehmen implementierende Unterklassen auch andere Werte. Eine Ellipse kopiert beispielsweise auch die Breite und Höhe eines Rectangle.

      Wird null übergeben, dann passiert nichts.

      Overrides:
      copyFrom in class Line
      Parameters:
      shape - Die Originalform, von der kopiert wird.
    • copy

      public Arrow copy()
      Description copied from class: Shape
      Erzeugt eine Kopie dieser Form mit denselben Eigenschaften.

      Unterklassen implementieren diese Methode mit dem genauen Typ der Unterklasse. In Rectangle sieht die Umsetzung beispielsweise so aus:

      
       public Rectangle copy() {
           return new Rectangle(this);
       }
       

      Die Methode kann beliebig umgesetzt werden, um eine 1-zu-1-Kopie dieser Form zu erhalten. In der Regel besitzt aber jede Form einen Konstruktor, der alle Werte einer andern Form übernimmt. Die gezeigte Implementierung ist daher im Regelfall ausreichend.

      Overrides:
      copy in class Line
      Returns:
      Eine genaue Kopie dieser Form.
    • getShape

      public Shape getShape()
      Description copied from class: Shape
      Gibt eine Java-AWT Shape Version dieser Form zurück. Intern werden die AWT Shapes benutzt, um sie auf den Grafikkontext zu zeichnen.

      Wenn diese Form nicht durch eine AWT-Shape dargestellt wird, liefert die Methode null.

      Overrides:
      getShape in class Line
      Returns:
      Eine Java-AWT Shape die diese Form repräsentiert oder null.
    • getHeadShape

      protected Shape getHeadShape()
    • draw

      public void draw(Graphics2D graphics, AffineTransform transform)
      Description copied from class: Shape
      Zeichnet die Form, aber wendet zuvor noch eine zusätzliche Transformations- matrix an. Wird u.A. von der ShapeGroup verwendet.
      Overrides:
      draw in class Shape