- Home ›
- Java2Dによる画像処理 ›
- Graphics2Dクラス ›
- HERE
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クラスでは線を描画したり図形を描画するためのメソッドが用意されています。
サンプルプログラム
簡単なサンプルを一度試してみます。
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)); } }
上記をコンパイルした後で実行すると次のように表示されます。
( Written by Tatsuo Ikura )