it-swarm.com.de

Farbe und Größe für Font.createFont (..) festlegen (Java.awt.Font)

Ich möchte ein neues Font-Objekt mit einer TTF-Datei erstellen. Es ist sehr einfach, ein Font-Objekt zu erstellen, aber ich weiß nicht, wie man Farbe und Größe einstellt, weil ich keine Methode dafür finden kann?

InputStream is = new FileInputStream("helvetica.ttf");
Font helvetica = Font.createFont(Font.TRUETYPE_FONT, is);
17
konze

Schriftarten haben keine Farbe; Nur wenn Sie die Schriftart verwenden, können Sie die Farbe der Komponente festlegen. Zum Beispiel, wenn Sie eine JTextArea verwenden:

JTextArea txt = new JTextArea();
Font font = new Font("Verdana", Font.BOLD, 12);
txt.setFont(font);
txt.setForeground(Color.BLUE);

Gemäß this link erstellt die createFont () - Methode ein neues Font-Objekt mit einer Punktgröße von 1 und dem Stil PLAIN. Wenn Sie also die Schriftgröße vergrößern möchten, müssen Sie Folgendes tun:

 Font font = Font.createFont(Font.TRUETYPE_FONT, new File("A.ttf"));
 return font.deriveFont(12f);
21
Erik Pragt

Sobald Sie Ihre Schriftart haben, können Sie deriveFont aufrufen. Zum Beispiel,

helvetica = helvetica.deriveFont(Font.BOLD, 12f);

Ändert den Stil der Schrift in Fett und ihre Größe in 12 Punkte. 

5
Zong

Da die Schriftart keine Farbe hat, benötigen Sie ein Bedienfeld, um eine Hintergrundfarbe zu erstellen und die Vordergrundfarbe sowohl für JLabel (wenn Sie JLabel verwenden) als auch für JPanel zur Schriftfarbe verwenden, wie im folgenden Beispiel:

JLabel lblusr = new JLabel("User name : ");
lblusr.setForeground(Color.YELLOW);

JPanel usrPanel = new JPanel();
Color maroon = new Color (128, 0, 0);
usrPanel.setBackground(maroon);
usrPanel.setOpaque(true);
usrPanel.setForeground(Color.YELLOW);
usrPanel.add(lblusr);

Die Hintergrundfarbe des Etiketts ist kastanienbraun mit gelber Schriftfarbe.

0
xxx