Skip to content

TextBlock (mehrzeiliger Text)

Die Klasse TextBlock ist im Paket pi.actor enthalten und kann über die Anweisung import pi.actor.TextBlock; importiert werden.

Klassendiagramm

Die Klasse TextBlock und ihr Vererbungshierachie.

lineSpacing (Zeilenabstand)

Durch die Methode lineSpacing(double) kann der Zeilenabstand des Textblocks einstellt werden.

Der Zeilenabstand ist ein Faktor, der den Abstand zwischen den Zeilen relativ zum Standardabstand bestimmt. Ein Wert von 1 bedeutet den normalen Zeilenabstand, Werte größer als 1 erhöhen den Abstand, während Werte zwischen 0 und 1 den Abstand verringern. Zum Beispiel würde ein Wert von 1.5 den Zeilenabstand um 50% erhöhen, während ein Wert von 0.75 den Zeilenabstand um 25% verringern würde.

        double[] lineSpacings = { 0.5, 1, 1.5, 2 };
        for (int i = 0; i < lineSpacings.length; i++)
        {
            double lineSpacing = lineSpacings[i];
            add(new TextBlock("Zeile 1\nZeile 2\nZeile 3")
                .lineSpacing(lineSpacing)
                .width(3)
                .center(-9 + i * 6, 0));
        }
Zum Java-Code: demos/subprojects/demos/src/main/java/demos/docs/main_classes/actor/text_block/TextBlockLineSpacingDemo.java

Der Textblock in der Physik-Simulation

Wie alle anderen Figuren kann auch die TextBlock-Figur in einer Physik-Simulation verwendet werden. Das folgende Beispiel lässt den Beispieltext auf einer Ebene abprallen. Damit der Text aus dem Spielfenster fliegt, wird seine Fallrichtung mit einem nach rechts gerichteten Impuls (applyImpulse(new Vector(500, 0))) beeinflusst.

    public TextBlockPhysicsDemo()
    {
        backgroundColor("yellow");
        gravityOfEarth();

        add(new TextBlock("Zeile 1\nZeile 2\nZeile 3").height(10)
            .density(1)
            .restitution(0.95)
            .center(-9, 7)
            .color("blue")
            .rotateBy(60)
            .makeDynamic()
            .applyImpulse(new Vector(500, 0)));

        add(new Rectangle(15, 1).center(0, -7).makeStatic());
    }
Zum Java-Code: demos/subprojects/demos/src/main/java/demos/docs/main_classes/actor/text_block/TextBlockPhysicsDemo.java