Class Line

All Implemented Interfaces:
Drawable, Fillable, Strokeable
Direct Known Subclasses:
Arrow

public class Line extends Shape
  • Field Details

    • x2

      protected double x2
    • y2

      protected double y2
  • Constructor Details

    • Line

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

      public Line(Line line)
  • Method Details

    • getX2

      public double getX2()
    • setX2

      public void setX2(double x)
    • getY2

      public double getY2()
    • setY2

      public void setY2(double y)
    • getWidth

      public double getWidth()
      Description copied from class: Shape
      Liefert die aktuelle Breite dieser Form.

      Die Breite einer Form ist immer die Breite ihrer Begrenzung, bevor Drehungen und andere Transformationen auf sie angewandt wurden.

      Die Begrenzungen der tatsächlich gezeichneten Form wird mit Shape.getBounds() abgerufen.

      Specified by:
      getWidth in class Shape
      Returns:
      Die Breite der Form.
    • getHeight

      public double getHeight()
      Description copied from class: Shape
      Liefert die aktuelle Höhe dieser Form.

      Die Höhe einer Form ist immer die Höhe ihrer Begrenzung, bevor Drehungen und andere Transformationen auf sie angewandt wurden.

      Die Begrenzungen der tatsächlich gezeichneten Form wird mit Shape.getBounds() abgerufen.

      Specified by:
      getHeight in class Shape
      Returns:
      Die Höhe der Form.
    • getBounds

      public Bounds getBounds()
      Description copied from class: Shape
      Gibt die Begrenzungen der Form zurück.

      Ein Bounds-Objekt beschreibt eine "Axis Aligned Bounding Box" (AABB).

      Overrides:
      getBounds in class Shape
      Returns:
      Die Abgrenzungen der Form nach Anwendung der Transformationen.
    • scale

      public void scale(double factor)
      Description copied from class: Shape
      Setzt den Skalierungsfaktor auf den angegebenen Faktor.

      Bei einem Faktor größer 0 wird die Form vergrößert, bei einem Faktor kleiner 0 verkleinert. Bei negativen Werten wird die Form entlang der x- bzw. y-Achse gespiegelt.

      Das Seitenverhältnis wird immer beibehalten.

      Overrides:
      scale in class Shape
      Parameters:
      factor - Der Skalierungsfaktor.
    • 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 Shape
      Parameters:
      shape - Die Originalform, von der kopiert wird.
    • copy

      public Line 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.

      Specified by:
      copy in class Shape
      Returns:
      Eine genaue Kopie dieser Form.
    • move

      public void move(double dx, double dy)
      Description copied from class: Shape
      Verschiebt die Form um die angegebenen Werte entlang der Koordinatenachsen.
      Overrides:
      move in class Shape
      Parameters:
      dx - Verschiebung entlang der x-Achse.
      dy - Verschiebung entlang der y-Achse.
    • moveTo

      public void moveTo(double x, double y)
      Description copied from class: Shape
      Bewegt die Form an die angegebenen Koordinaten.
      Overrides:
      moveTo in class Shape
      Parameters:
      x - Die neue x-Koordinate.
      y - Die neue y-Koordinate.
    • 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.

      Specified by:
      getShape in class Shape
      Returns:
      Eine Java-AWT Shape die diese Form repräsentiert oder null.
    • equals

      public boolean equals(Object o)
      Description copied from class: Shape
      Vergleicht die Form mit einem anderen Objekt. Handelt es sich bei dem Objekt um eine andere Form, werden Position, Drehwinkel und Skalierung verglichen. Unterklassen überschreiben die Methode, um weitere Eigenschaften zu berücksichtigen.

      Die Eigenschaften, die durch Fillable und Strokeable impliziert werden, werden nicht verglichen.

      Overrides:
      equals in class Shape
      Parameters:
      o - Ein anderes Objekt.
    • toString

      public String toString()
      Overrides:
      toString in class Object