Graphics2Dクラス

広告

それではGraphics2Dクラスについて見ていきます。クラス図は次のようになっています。

  • java.lang.Object
  • java.awt.Graphics
  • java.awt.Graphics2D
  • public abstract class Graphics2D extends Graphics

Graphics2Dクラスはabstractクラスであるため直接コンストラクタを使ってオブジェクトを作成することは出来ません。「paintComponent」メソッドの引数として渡されてくるGraphicsクラスのオブジェクトをGraphics2Dクラスのオブジェクトにキャストして利用します。(又はBufferedImageクラスのオブジェクトから取得する事も出来ます。BufferedImageクラスを使った方法は別のページで確認します)。

public void paintComponent(Graphics g){
  Graphics2D g2 = (Grahpics2D)g;
  
}

Graphics2Dクラスでは線を描画したり図形を描画するためのメソッドが用意されています。

サンプルプログラム

簡単なサンプルを一度試してみます。

Graphics2DTest2.java

import javax.swing.*;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.*;

public class Graphics2DTest2 extends JPanel{

  public static void main(String[] args){
    JFrame frame = new JFrame();

    Graphics2DTest2 app = new Graphics2DTest2();
    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.draw(new Line2D.Double(20, 20, 160, 140));
  }
}

上記をコンパイルした後で実行すると次のように表示されます。

Graphics2Dクラス

( Written by Tatsuo Ikura )