aboutsummaryrefslogtreecommitdiff
path: root/Info/10/2/Baelle/BlueJ_Projekt/Text.java
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2024-05-05 14:36:59 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2024-05-05 14:36:59 +0200
commitaed3ad2011483d36b1f6f6b772a6f300cb967cc0 (patch)
tree7f1543b344bdd783db1d5b079dbd15b3e6a0bf34 /Info/10/2/Baelle/BlueJ_Projekt/Text.java
parenta91e3342f58a6476e17d9bd172f02b1c7cacf603 (diff)
downloadunterricht-aed3ad2011483d36b1f6f6b772a6f300cb967cc0.tar.gz
unterricht-aed3ad2011483d36b1f6f6b772a6f300cb967cc0.zip
add Baelle project for simple inheritance
Diffstat (limited to 'Info/10/2/Baelle/BlueJ_Projekt/Text.java')
-rw-r--r--Info/10/2/Baelle/BlueJ_Projekt/Text.java192
1 files changed, 192 insertions, 0 deletions
diff --git a/Info/10/2/Baelle/BlueJ_Projekt/Text.java b/Info/10/2/Baelle/BlueJ_Projekt/Text.java
new file mode 100644
index 00000000..3fa1325a
--- /dev/null
+++ b/Info/10/2/Baelle/BlueJ_Projekt/Text.java
@@ -0,0 +1,192 @@
+/**
+ * Wrapperklasse für einen Text auf der Zeichenfläche.
+ *
+ * @author Albert Wiedemann
+ * @version 1.0
+ */
+public class Text
+{
+ /** x-Position der linken Seite der Grundlinie. */
+ private int x;
+ /** y-Position der Grundlinie. */
+ private int y;
+ /** Farbe des Textes. */
+ private String farbe;
+ /** Sichtbarkeit des Textes. */
+ private boolean sichtbar;
+ /** Drehwinkel (mathematisch positiver Drehsinn) des Textes in Grad. */
+ private int winkel;
+ /** Größe des Textes in Punkten. */
+ private int textgröße;
+
+ /** Referenz auf das Delegate-Objekt. */
+ private Zeichenfenster.TextIntern symbol;
+
+ /**
+ * Der Konstruktor erzeugt das Delegate-Objekt
+ */
+ Text ()
+ {
+ x = 10;
+ y = 10;
+ farbe = "schwarz";
+ sichtbar = true;
+ winkel = 0;
+ textgröße = 12;
+ symbol = (Zeichenfenster.TextIntern) Zeichenfenster.SymbolErzeugen(Zeichenfenster.SymbolArt.text);
+ symbol.PositionSetzen(x, y);
+ symbol.FarbeSetzen(farbe);
+ symbol.SichtbarkeitSetzen(sichtbar);
+ symbol.WinkelSetzen(winkel);
+ symbol.TextGrößeSetzen(textgröße);
+ }
+
+ /**
+ * Setzt die Position (der Grundline) des Textes.
+ * @param x x-Position der linken Seite der Grundlinie
+ * @param y y-Position der Grundlinie
+ */
+ void PositionSetzen(int x, int y)
+ {
+ this.x = x;
+ this.y = y;
+ symbol.PositionSetzen(x, y);
+ }
+
+ /**
+ * Setzt den aktuellen Text.
+ * @param text der neue Text
+ */
+ void TextSetzen (String text)
+ {
+ symbol.TextSetzen(text);
+ }
+
+ /**
+ * Setzt die Größe des Textes.
+ * @param größe die (neue) Textgröße
+ */
+ void TextGrößeSetzen (int größe)
+ {
+ textgröße = größe;
+ symbol.TextGrößeSetzen(größe);
+ }
+
+ /**
+ * Vergrößert den Text.
+ */
+ void TextVergrößern()
+ {
+ symbol.TextVergrößern();
+ textgröße = (int) symbol.size;
+ }
+
+ /**
+ * Verkleinert den Text.
+ */
+ void TextVerkleinern()
+ {
+ symbol.TextVerkleinern();
+ textgröße = (int) symbol.size;
+ }
+
+ /**
+ * Verschiebt den Text um die angegebenen Werte.
+ * @param deltaX Verschiebung in x-Richtung
+ * @param deltaY Verschiebung in y-Richtung
+ */
+ void Verschieben(int deltaX, int deltaY)
+ {
+ x += deltaX;
+ y += deltaY;
+ symbol.PositionSetzen(x, y);
+ }
+
+ /**
+ * Dreht den Text
+ * @param grad Drehwinkel (mathematisch positiver Drehsinn) im Gradmass
+ */
+ void Drehen(int grad)
+ {
+ winkel += grad;
+ symbol.WinkelSetzen(winkel);
+ }
+
+ /**
+ * Setzt die Farbe des Textes.
+ * Erlaubte Farben sind:
+ * "weiß", "weiss", "rot", "grün", "gruen", "blau", "gelb",
+ * "magenta", "cyan", "hellgelb", "hellgrün", "hellgruen",
+ * "orange", "braun", "grau", "schwarz"
+ * Alle anderen Eingaben werden auf die Farbe schwarz abgebildet.
+ * @param farbe (neue) Farbe
+ */
+ void FarbeSetzen (String farbe)
+ {
+ this.farbe = farbe;
+ symbol.FarbeSetzen(farbe);
+ }
+
+ /**
+ * Setzt den Drehwinkel des Textes.
+ * Die Winkelangabe ist in Grad,positive Werte drehen gegen den Uhrzeigersinn,
+ * negative Werte drehen im Uhrzeigersinn (mathematisch positiver Drehsinn).
+ * @param winkel der (neue) Drehwinkel des Textes
+ */
+ void WinkelSetzen (int winkel)
+ {
+ this.winkel = winkel;
+ symbol.WinkelSetzen(winkel);
+ }
+
+ /**
+ * Schaltet die Sichtbarkeit des Textes ein oder aus.
+ * Erlaubte Parameterwerte: true, false
+ * @param sichtbar (neue) Sichtbarkeit des Textes
+ */
+ void SichtbarkeitSetzen (boolean sichtbar)
+ {
+ this.sichtbar = sichtbar;
+ symbol.SichtbarkeitSetzen(sichtbar);
+ }
+
+ /**
+ * Entfernt den Text aus dem Zeichenfenster.
+ */
+ void Entfernen ()
+ {
+ symbol.Entfernen();
+ }
+
+ /**
+ * Bringt den Text eine Ebene nach vorn.
+ */
+ void NachVornBringen ()
+ {
+ symbol.NachVornBringen();
+ }
+
+ /**
+ * Bringt den Text in die vorderste Ebene.
+ */
+ void GanzNachVornBringen ()
+ {
+ symbol.GanzNachVornBringen();
+ }
+
+ /**
+ * Bringt den Text eine Ebene nach hinten.
+ */
+ void NachHintenBringen ()
+ {
+ symbol.NachHintenBringen();
+ }
+
+ /**
+ * Bringt den Text in die hinterste Ebene.
+ */
+ void GanzNachHintenBringen ()
+ {
+ symbol.GanzNachHintenBringen();
+ }
+}