Helmichs Informatik-Lexikon

drawString()

Die Methode drawString() gehört zur Java-Klasse Graphics und dient zur Ausgabe eines Strings in das Anwendungsfenster. Die Parameter dieser Methode sind die Pixel-Koordinaten der linken unteren (!) Ecke des Strings sowie der String selbst.

Einfaches Beispiel:
g.drawString("Hallo Welt!",50,50)

Dieser Befehl zeichnet den String "Hallo Welt!" links oben in das Anwendungsfenster.

Schauen wir uns nun folgende Befehlssequenz an:

        g.setColor(Color.RED);
        g.drawRect(50,50,400,100);
        g.setColor(Color.BLUE);
        g.drawString("Hallo Welt!",50,50);

Hier das Ergebnis:

Überprüfung der Positionierung des Strings
Autor: Ulrich Helmich 2022, Lizenz: siehe Seitenende

Diese Befehlssequenz soll überprüfen, wo genau ein String in der Anwendung ausgegeben wird. Die linke obere Ecke des roten Rechtecks hat die Koordinaten (50,50), der String wird an den gleichen Koordinaten ausgegeben.

Wie man leicht sehen kann, definieren die beiden Positions-Parameter des drawString()-Befehls nicht die obere linke Ecke, sondern die untere linke Ecke des Strings.

Achten Sie bei der String-Ausgabe auch darauf, dass die Menüleiste des Anwendungsfensters ca. 25 Pixel "verbraucht". Wenn Sie also eine String-Position wie (50,20) wählen, wird der String nicht angezeigt.

    public void paint(Graphics g)
    {
       for (int y=20; y<=70; y+=5)
          g.drawString("y = "+y,50+10*y,y);
    }

Diese paint()-Methode testet systematisch aus, ab welchem y-Wert ein String vollständig angezeigt wird. In diesem Quelltext ist auch zu sehen, wie man eine String-Ausgabe mit einer Zahlen-Ausgabe kombiniert.

Hier das Ergebnis:

Austesten des drawString()-Befehls
Autor: Ulrich Helmich, Lizenz: siehe Seitenende

Wie man leicht sieht, muss die y-Position des Strings mindestens 40 Pixel betragen, damit der String nicht oben abgeschnitten wird.

Ausgabe "nackter" Zahlen

Der drawString()-Befehl erwartet einen String als ersten Parameter. Will man jetzt eine "nackte" Zahl ausgeben, so muss man diese zunächst in einen String verwandeln. Das geht am einfachsten, indem man die Zahl mit einem leeren String kombiniert:

g.drawString(""+xPos,50,50);

Die int-Variable xPos wird mit dem leeren String "" konkateniert. Hat xPos beispielsweise den Wert 67, dann erhält man so den String "67".