Announcement

Collapse
No announcement yet.

Graphics-Kontext in von Canvas abgeleiteter Klasse beschaffen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Graphics-Kontext in von Canvas abgeleiteter Klasse beschaffen?

    Hallo

    Ich habe eine Klasse "TextCanvas" von Canvas abgeleitet um Grafische Textausgabe mit Zeilenumbruch in einem Frame machen zu können in dem noch jede Menge anderer Komponenten eingebaut sind. Nun soll sich die Höhe des "TextCanvas" nach der Anzahl der vorhandenen Zeilen richten. Die Anzahl der Zeilen (=Umbrüche) möchte ich mit FontMetrics ermitteln indem ich die Länge des Strings mit charAt() nach Leerzeichen absuche und die einzelnen Wörter sukzessive mit der maximalen Ausgabebreite vergleiche. Wird die Breite zu groß soll ein Zeilenumbruch erfolgen.
    Mit einer statischen Methode in einer Utility-Klasse klappt das schon ganz gut. Nur möchte ich den "TextCanvas" nicht größer machen als unbedingt nötig. Deshalb brauche ich seine Größe komme aber nicht an ein Graphics-Objekt um mir ein FontMetrics-Objekt zu besorgen.

    Der Aufbau der Klasse "TextCanvas" sollte irgendwie so aussehen:

    import ...

    public class TextCanvas extends Canvas {

    // Variablendekl.

    public TextCanvas() {

    // Konstruktor

    // Hier werden alle relevanten Werte

    // und Objekte übergeben

    // soll ja schon mal vorkommen :-)

    }

    public void paint(Graphics g) { // hier soll die Ausgabe erfolgen }

    public int getHeight() {

    // und hier soll die Höhe

    // anhand der FontMetrics-Klasse ermittelt

    // werden. Wie komme ich hier an ein

    // Graphics-Objekt auf das ich getFontMetrics()

    // anwenden kann???

    }

    }

    weiß irgendjemand Rat???

  • #2
    !!! ERLEDIGT !!!

    Das Problem hat sich bereits gelöst. Man kann sich in jedem Component über getToolkit().getFontMetrics(Font x) das entsprechende Objekt besorgen.

    Trotzdem Danke für alle die sich die Mühe gemacht haben das Posting zu lesen

    Gruß Rol

    Comment

    Working...
    X