Hallo,
ich bin ziemlich ratlos! Ich hoffe hier auf Hilfe!
Das Problem:
Ich versuche aus einer Java-Klasse einen Textseite zu generieren, die direkt an einen Drucker geschickt wird. Das klappt auch, jedoch habe ich ein Problem: Ich will/muss verschiedene Schriftgrößen verwenden (z.B. für Überschriften, Normaltext etc.). Als Hauptbestandteil einer Seite werden Tabellen unterschiedlicher Länge gedruckt. Diese können sich über mehrere Seiten strecken.
Ich habe das so gemacht:
Ich bereite die einzelnen Zeilen als Strings vor. Jede Zeile enthält eine Information, die aussagt, ob sie z.B. eine Überschrift oder ein Normalertext oder eine Tabellenzeile ist.
Bevor ich das Ganze an den Drucker übergebe, muss ich ja ein Printable erstellen. Dieses Printable ist (so weit ich das verstanden habe) genau eine Seite, die ausgedruckt werden soll.
Jetzt muss ich, bevor ich die Infos über eine Seite dem Printable übergebe, ermitteln, wie viele Zeilen (unterschiedlicher Höhe) auf eine Seite passen.
Jetzt habe ich festgestellt, dass, wenn ich versuche die Zeilenhöhe einer Schriftart zu ermitteln, diese sich unterscheidet, wenn ich sie einmal per: (Fall 1)
und dann in dem Printable mit: (Fall 2)
hole. Wenn ich die Oracle-Doku richtig verstanden habe, ist das auch wirklich unterschiedlich.
Ich habe leider keine Idee, wie ich das Problem lösen soll.
In Fall 1 habe ich ja noch nicht das konkrete Graphics-Objekt. :autsch:
Kann mir jemand helfen?
LG
Darkwall
ich bin ziemlich ratlos! Ich hoffe hier auf Hilfe!
Das Problem:
Ich versuche aus einer Java-Klasse einen Textseite zu generieren, die direkt an einen Drucker geschickt wird. Das klappt auch, jedoch habe ich ein Problem: Ich will/muss verschiedene Schriftgrößen verwenden (z.B. für Überschriften, Normaltext etc.). Als Hauptbestandteil einer Seite werden Tabellen unterschiedlicher Länge gedruckt. Diese können sich über mehrere Seiten strecken.
Ich habe das so gemacht:
Ich bereite die einzelnen Zeilen als Strings vor. Jede Zeile enthält eine Information, die aussagt, ob sie z.B. eine Überschrift oder ein Normalertext oder eine Tabellenzeile ist.
Bevor ich das Ganze an den Drucker übergebe, muss ich ja ein Printable erstellen. Dieses Printable ist (so weit ich das verstanden habe) genau eine Seite, die ausgedruckt werden soll.
Jetzt muss ich, bevor ich die Infos über eine Seite dem Printable übergebe, ermitteln, wie viele Zeilen (unterschiedlicher Höhe) auf eine Seite passen.
Jetzt habe ich festgestellt, dass, wenn ich versuche die Zeilenhöhe einer Schriftart zu ermitteln, diese sich unterscheidet, wenn ich sie einmal per: (Fall 1)
Java:
FontMetrics fm = new FontMetrics(getMyFont());
System.out.println(fm.getHeigt());
Java:
FontMetrics fm = g.getFontMetrics(getMyFont()); // g ist das Graphics-Objekt aus der paint()-Methode
System.out.println(fm.getHeigt());
Ich habe leider keine Idee, wie ich das Problem lösen soll.
In Fall 1 habe ich ja noch nicht das konkrete Graphics-Objekt. :autsch:
Kann mir jemand helfen?
LG
Darkwall
Zuletzt bearbeitet: