- 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 )
JavaDrive