ich versuche, eine große "Hallo Welt" auf meinem Rahmen/Komponente zu malen. Aber ich möchte es dynamisch an die Fenstergröße anpassen. Jedes Mal, wenn ich die Größe des Fensters ändere, sollte der Text perfekt in das Fenster passen.Java: Wie man bemalten Text dynamisch in Fenster einfügt
Ich benutze die FontMetrics-Klasse, der ich eine Schriftart zuweisen und die Breite und Höhe eines Zeichens messen.
Aber es wäre gut, eine Methode zu haben, die ich die Größe einer Komponente mit einem Text übergebe und die Methode gibt eine Schriftart zurück, die ich verwenden muss. Nun, eine Schriftgröße für eine bestimmte Schriftart wäre ausreichend.
Etwas wie folgt aus:
public int getFontSizeForDrawArea(int width, int height, String text, Font font) {
//Pseudo class FontMeasureClass takes a font to do the measures with
FontMeasureClass measure = new FontMeasureClass(font);
// method takes size of frame/component and text to return the needed
// font size to fit text to frame/component
return measure.getFontSize(width, height, text);
}
Ich denke, ein Verfahren zu machen, die die Größe eines Textes misst, indem in einer Schleife wieder versuchen, bis die Größe so nah wie viel zu den Fenstern Widht und Höhe. Aber vielleicht gibt es etwas bereit zu verwenden.
Ok noch muss ich eine Schleife durchlaufen und stoppe, wenn die zurückgegebene Breite der Fensterbreite am nächsten ist. – NovumCoder
Ja. Die Schleife sollte einfach zu machen sein. Ich kenne keinen anderen Weg. –
Warum zwei Antworten von derselben Person, anstatt die ursprüngliche Antwort zu bearbeiten? –