- Home ›
- Java2Dによる画像処理 ›
- Polygonクラス ›
- HERE
Polygonクラス
広告
Polygonクラスは多角形を表すクラスです。
クラス図は次のようになっています。
- java.lang.Object
- java.awt.Polygon
- public class Polygon extends Object implements Shape, Serializable
コンストラクタは次の2つが用意されています。
コンストラクタ |
---|
Polygon() 空の多角形を作成します。 |
Polygon(int[] xpoints, int[] ypoints, int npoints) 指定されたパラメータから Polygon を構築および初期化します。 |
基本となる2番目のコンストラクタを確認してみます。
Polygon public Polygon(int[] xpoints, int[] ypoints, int npoints)
指定されたパラメータから Polygon を構築および初期化します。 パラメータ: xpoints - X 座標の配列 ypoints - Y 座標の配列 npoints - Polygon の点の 総数 例外: NegativeArraySizeException - npoints の値が 負の場合 IndexOutOfBoundsException - npoints が xpoints の長さまたは ypoints の長さより大きい場合 NullPointerException - xpoints または ypoints が null の場合
1番目の引数には多角形の頂点のx座標の配列をint型の配列として指定します。2番目の引数には多角形の頂点のy座標の配列をint型の配列として指定します。多角形の頂点の数だけの配列となります。
3番目の引数には多角形の頂点の数をint型の値で指定します。
具体的には次のように記述します。
int[] xpoints = {30, 150, 170, 120, 30}; int[] ypoints = {20, 40, 140, 110, 80}; int npoints = xpoints.length; Polygon polygon = new Polygon(xpoints, ypoints, npoints);
サンプルプログラム
簡単なサンプルを一度試してみます。
import javax.swing.*; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.*; import java.awt.Polygon; public class PolygonTest1 extends JPanel{ public static void main(String[] args){ JFrame frame = new JFrame(); PolygonTest1 app = new PolygonTest1(); 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_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); int[] xpoints = {30, 150, 170, 80, 30}; int[] ypoints = {20, 40, 120, 140, 80}; int npoints = xpoints.length; Polygon polygon = new Polygon(xpoints, ypoints, npoints); g2.draw(polygon); } }
上記をコンパイルした後で実行すると次のように表示されます。
( Written by Tatsuo Ikura )