- Home ›
- Java2Dによる画像処理 ›
- 文字列の描画 ›
- HERE
フォントを指定する
広告
文字列を描画する際にフォントを指定する方法を確認します。フォントを指定するにはGraphics2Dクラスの親クラスであるGraphicsクラスで用意されている「setFont」メソッドを使います。
setFont public abstract void setFont(Font font)
このグラフィックスコンテキストのフォントを、指定されたフォントに設定し ます。このグラフィックスコンテキストを使用する、これ以降のテキスト描画 操作は、このフォントを使用します。null 引数は通知なく無視されます。 パラメータ: font - フォント
1番目の引数には設定するフォントを表すFontクラスのオブジェクトを指定します。
フォントにはフォントの種類の他にサイズなどを指定することが出来ます。詳しくは『Fontクラス』を参照して下さい。
具体的には次のように記述します。
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D)g;
Font font = new Font("Arial", Font.BOLD, 12);
g2.setFont(font);
g2.drawString("Hello Java2D", 100, 100);
}
サンプルプログラム
簡単なサンプルを一度試してみます。
import javax.swing.*;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.Font;
public class StringTest2 extends JPanel{
public static void main(String[] args){
JFrame frame = new JFrame();
StringTest2 app = new StringTest2();
frame.getContentPane().add(app);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(10, 10, 300, 200);
frame.setTitle("タイトル");
frame.setVisible(true);
}
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
Font font1 = new Font("Arial", Font.PLAIN, 16);
g2.setFont(font1);
g2.drawString("Hello Java2D", 30, 40);
Font font2 = new Font("MS 明朝", Font.BOLD, 32);
g2.setFont(font2);
g2.drawString("日本語文字列", 30, 120);
}
}
上記をコンパイルした後で実行すると次のように表示されます。
( Written by Tatsuo Ikura )
JavaDrive