/*
Datei............: Aufg1404.java
Projekt..........: Einführung in die Java-Programmierung
Erstellt.........: 25.11.97, Guido Krüger
Geändert.........: --
Aufgabe..........: Musterlösung zu Aufgabe 14.04
Kommentare.......:

Die Unterstreichung wird dadurch realisiert, daß eine durchgezogene Linie
unter den String gezeichnet wird. Die Länge der Linie und ihr Abstand 
von der Grundlinie des Strings wird mit Hilfe von Textmetriken ermittelt.
*/
import java.awt.*;
import java.awt.event.*;

public class Aufg1404
extends Frame
{
  public static void main(String[] args)
  {
	Aufg1404 wnd = new Aufg1404();
  }

  public Aufg1404()
  {
	super("Aufg1404");
	addWindowListener(
	  new WindowAdapter() {
		public void windowClosing(WindowEvent event)
		{
		  System.exit(0);
		}
	  }
    );
	setBackground(Color.lightGray);
	setSize(300,200);
	setVisible(true);
  }

  public void paint(Graphics g)
  {
	g.setFont(new Font("Serif", 24, Font.PLAIN));
	drawUnderlinedString(g, "Dieser Satz wird unterstrichen", 20, 50);
  }

  /**
   * Schreibt den String str mit Unterstreichung an die Position (x, y).
   */
  public void drawUnderlinedString(Graphics g, String str, int x, int y)
  {
	FontMetrics fm = g.getFontMetrics();
	int xlen = fm.stringWidth(str);
	int ydst = fm.getDescent();
	g.drawString(str, x, y);
	g.drawLine(x, y + ydst, x + xlen, y + ydst);
  }
}


