TTFファイルを使用して新しいFontオブジェクトを作成したいと思います。 Fontオブジェクトを作成するのは本当に簡単ですが、メソッドを見つけることができないため、色とサイズを設定する方法がわかりませんか?
InputStream is = new FileInputStream("helvetica.ttf");
Font helvetica = Font.createFont(Font.TRUETYPE_FONT, is);
フォントには色がありません。フォントを使用する場合のみ、コンポーネントの色を設定できます。たとえば、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);
さて、フォントを取得したら、deriveFont
を呼び出すことができます。例えば、
helvetica = helvetica.deriveFont(Font.BOLD, 12f);
フォントのスタイルを太字に変更し、サイズを12ポイントに変更します。
フォントには色がないため、次の例のように、背景色を作成し、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);
ラベルの背景色は黄色いフォント色の栗色です。