無理しないでゆっくり休んでね!

【Java】AWTで始めるグラフィック描画:文字、色、フォントの基本

JavaのAWT(Abstract Window Toolkit)ライブラリは、グラフィック描画を簡単に行うための基本的なツールを提供しています。AWTを使うことで、PDF文書のようなシンプルでフォーマルなレイアウトを作成することも可能です。

この記事では、Java AWTを使って文字や色、フォント、背景を操作し、PDFのような文書スタイルのコンテンツを描画するための基本的な方法を紹介します。

基本的なセットアップ

まず、Java AWTを使用するための基本的なセットアップです。

描画を行うためには、Graphicsクラスを使ってコンテンツをキャンバス(ウィンドウやパネル)に描画します。

import java.awt.*;
import javax.swing.*;

public class SimpleAWTDrawing extends JPanel {

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        // ここに描画コードを記述
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        SimpleAWTDrawing panel = new SimpleAWTDrawing();
        frame.add(panel);
        frame.setSize(500, 700);  // ウィンドウのサイズ設定
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

上記のコードは、AWTとSwingの基本的なウィンドウと描画領域を作成しています。ここから、文字や色の設定を行っていきます。

背景色の設定

setBackground()メソッドを使ってパネル全体の背景色を指定できます。

例えば、白い背景にしたい場合、次のように設定します。

public SimpleAWTDrawing() {
    setBackground(Color.WHITE);  // 背景色を白に設定
}

このコードは描画領域の背景が白になります。

フォントと文字の描画

AWTを使って文字を描画する場合、GraphicsクラスのdrawString()メソッドを使用します。

文字のフォントを指定するには、setFont()メソッドを使い、フォントの種類、スタイル、サイズを設定します。

@Override
protected void paintComponent(Graphics g) {
    super.paintComponent(g);

    // フォント設定
    Font font = new Font("Serif", Font.PLAIN, 24);
    g.setFont(font);

    // 文字色の設定
    g.setColor(Color.BLACK);

    // 文字の描画
    g.drawString("これはPDF風の文書です", 50, 100);
}

上記のコードでは、Serifフォントのサイズ24ポイントで、黒色の文字を描画しています。

drawString()メソッドの最初の引数には描画するテキストを、次の2つの引数には文字の開始位置(x, y座標)を指定します。

文字列の位置調整

PDF文書のような整ったレイアウトを作るには、文字の位置を正確に配置することが重要です。

drawString()で指定する座標(x, y)は、テキストの左下の座標になるため、これを使ってテキストの正確な位置を調整できます。

g.drawString("タイトル", 50, 50);       // タイトルの位置
g.drawString("本文の1行目", 50, 150);   // 本文の1行目の位置
g.drawString("本文の2行目", 50, 200);   // 本文の2行目の位置

このようにして、異なるy座標を設定することで、複数行のテキストを整然と配置できます。

色の設定

AWTで色を設定する場合は、setColor()メソッドを使います。

例えば、テキストを黒くしたい場合、Color.BLACKを指定します。その他、標準の色以外にもRGB値でカスタムカラーを設定することができます。

g.setColor(new Color(0, 102, 204));  // ブルー
g.drawString("カスタムカラーのテキスト", 50, 300);

これにより、指定したRGB値に基づいてカスタムカラーを作成できます。

境界線や枠の描画

文書に境界線や枠を追加したい場合、drawRect()を使用して四角形を描画できます。

これにより、文書のセクションを視覚的に区切ることができます。

g.setColor(Color.BLACK);  // 枠線の色
g.drawRect(40, 50, 400, 100);  // 枠の描画(x, y, 幅, 高さ)

このコードは、指定した座標に幅400、高さ100の黒い四角形を描画します。これは、タイトルやセクションの枠として利用できます。

背景付きの文字

特定の文字の背景に色を付けたい場合、fillRect()を使って四角形を描画した後に、その上に文字を重ねて描画します。

g.setColor(Color.LIGHT_GRAY);  // 背景色
g.fillRect(50, 350, 200, 40);  // 背景用の四角形

g.setColor(Color.BLACK);       // 文字色
g.drawString("背景付きのテキスト", 60, 375);  // 文字描画

これにより、灰色の背景に黒い文字を描画することができます。

まとめ

Java AWTを使って、シンプルでPDF風の文書スタイルを作成するための基本的な要素について紹介しました。背景色の設定、フォントの選択、文字色の変更、そしてレイアウトの配置が基本となります。これらを組み合わせることで、ビジュアル的に整った文書風のグラフィックを描画することが可能です。AWTは軽量で、PDF文書を模した簡単なグラフィックを素早く作成したい場合に非常に便利です。

コメント

タイトルとURLをコピーしました