web-dev-qa-db-ja.com

Font.createFont(..)色とサイズの設定(Java.awt.Font)

TTFファイルを使用して新しいFontオブジェクトを作成したいと思います。 Fontオブジェクトを作成するのは本当に簡単ですが、メソッドを見つけることができないため、色とサイズを設定する方法がわかりませんか?

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

フォントには色がありません。フォントを使用する場合のみ、コンポーネントの色を設定できます。たとえば、JTextAreaを使用する場合:

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

このリンク によると、createFont()メソッドは、ポイントサイズが1でスタイルがPLAINの新しいFontオブジェクトを作成します。そのため、フォントのサイズを増やしたい場合は、これを行う必要があります。

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

さて、フォントを取得したら、deriveFontを呼び出すことができます。例えば、

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

フォントのスタイルを太字に変更し、サイズを12ポイントに変更します。

5
Zong

フォントには色がないため、次の例のように、背景色を作成し、JLabel(JLabelを使用する場合)とJPanelの両方に前景色を与えるパネルが必要です。

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);

ラベルの背景色は黄色いフォント色の栗色です。

0
xxx