J'ai JFrame
avec JTextArea
à l'intérieur de celui-ci.Java Get Taille de la police
Font font = new Font("monospaced", Font.PLAIN, 14);
textarea.setFont(font);
Étant donné que la police est à espacement fixe, tous les caractères ont la même largeur et hauteur.
Je voudrais savoir quelle est cette largeur et cette hauteur en pixels.
Pour cela, je pourrais utiliser font.getStringBounds
mais je n'ai pas de contexte Graphics
à lui passer. frame.getGraphics()
renvoie null
.
Comment puis-je trouver la taille d'un caractère? Peut-il être fait sans instance Graphics
? Je ne veux pas d'une instance de toute façon. Je veux juste savoir à quel point mes personnages sont grands.
Votre question n'est pas clair, Pouvez-vous fournir plus d'informations avec une partie nulle de code. –
La "taille" de la police sera basée sur le contexte de la destination du rendu. Généralement, vous voulez regarder 'Graphics # getFontMetrics' ou une méthode similaire. Si vous n'avez pas de contexte 'Graphics' disponible, vous pouvez créer un' BufferedImage' et l'utiliser. La question devient alors: pourquoi voulez-vous cette information? – MadProgrammer
@MadProgrammer merci- Je vais regarder dans 'BufferedImage'. Pour info, j'utilise un 'JFrame' /' JTextarea' pour rendre un jeu basé sur du texte, donc je vais utiliser cette information pour mettre à l'échelle le texte et obtenir les dimensions de la fenêtre en unités de caractères. – Lolums